@@ -54,65 +54,52 @@ export const SplitDivider = styled(Divider)`
5454` ;
5555
5656export const NotificationItem = styled . div < { $isRead : boolean } > `
57- padding: 0.75rem;
58- border-radius: ${ BORDER_RADIUS } ;
59- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
57+ padding: 0;
6058 margin-bottom: 1rem;
61-
62- /* Glass morphism background matching Paid Subscribers */
63- background: linear-gradient(to bottom right,
64- rgba(20, 184, 166, 0.08), /* from-teal-500/8 */
65- rgba(6, 182, 212, 0.06), /* via-cyan-500/6 */
66- rgba(34, 197, 94, 0.08) /* to-green-500/8 */
67- );
68-
69- backdrop-filter: blur(10px);
70- -webkit-backdrop-filter: blur(10px);
71- border: 1px solid rgba(45, 212, 191, 0.2);
59+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7260 position: relative;
73- overflow: hidden;
7461
75- /* Glass overlay effect */
76- &::before {
77- content: '';
78- position: absolute;
79- top: 0;
80- left: 0;
81- right: 0;
82- height: 50%;
83- background: linear-gradient(
84- 180deg,
85- rgba(255, 255, 255, 0.05) 0%,
86- transparent 100%
87- );
88- pointer-events: none;
89- }
90-
62+ /* Remove all background styling - let BaseNotification handle the visuals */
63+ background: transparent;
64+ border: none;
65+ backdrop-filter: none;
66+ -webkit-backdrop-filter: none;
67+
68+ /* Add left indicator for unread state */
9169 ${ ( { $isRead } ) =>
9270 ! $isRead &&
9371 css `
94- background : linear-gradient (to bottom right,
95- rgba (20 , 184 , 166 , 0.12 ),
96- rgba (6 , 182 , 212 , 0.10 ),
97- rgba (34 , 197 , 94 , 0.12 )
98- );
99- border-left : 3px solid rgba (45 , 212 , 191 , 0.6 );
100- box-shadow :
101- inset 0 2px 8px rgba (45 , 212 , 191 , 0.15 ),
102- 0 0 20px rgba (6 , 182 , 212 , 0.15 );
72+ & ::before {
73+ content : '' ;
74+ position : absolute;
75+ left : 0 ;
76+ top : 50% ;
77+ transform : translateY (-50% );
78+ width : 3px ;
79+ height : 60% ;
80+ background : linear-gradient (
81+ to bottom,
82+ rgba (45 , 212 , 191 , 0.6 ),
83+ rgba (6 , 182 , 212 , 0.8 ),
84+ rgba (45 , 212 , 191 , 0.6 )
85+ );
86+ border-radius : 0 2px 2px 0 ;
87+ box-shadow : 0 0 10px rgba (6 , 182 , 212 , 0.4 );
88+ animation : unreadGlow 2s ease-in-out infinite;
89+ }
90+
91+ @keyframes unreadGlow {
92+ 0% , 100% {
93+ box-shadow : 0 0 10px rgba (6 , 182 , 212 , 0.4 );
94+ }
95+ 50% {
96+ box-shadow : 0 0 20px rgba (45 , 212 , 191 , 0.6 );
97+ }
98+ }
10399 ` }
104100
105101 &:hover {
106- background: linear-gradient(to bottom right,
107- rgba(20, 184, 166, 0.15),
108- rgba(6, 182, 212, 0.12),
109- rgba(34, 197, 94, 0.15)
110- );
111- border-color: rgba(45, 212, 191, 0.35);
112102 transform: translateY(-2px);
113- box-shadow:
114- inset 0 3px 12px rgba(45, 212, 191, 0.2),
115- 0 0 30px rgba(6, 182, 212, 0.2);
116103 }
117104` ;
118105
@@ -333,13 +320,69 @@ export const PaymentCountBadge = styled(Badge)`
333320 margin-left: 0.5rem;
334321
335322 .ant-badge-count {
336- background: linear-gradient(135deg, #00ffff 0%, #06b6d4 100%);
337- color: rgba(0, 0, 0, 0.85);
338- font-weight: 600;
323+ /* Liquid glass morphism badge matching Paid Subscribers theme */
324+ background: linear-gradient(135deg,
325+ rgba(20, 184, 166, 0.85), /* from-teal-500 */
326+ rgba(6, 182, 212, 0.80), /* to-cyan-500 */
327+ rgba(45, 212, 191, 0.85) /* accent cyan */
328+ );
329+ color: rgba(0, 20, 30, 0.95); /* Dark text for contrast */
330+ font-weight: 700;
331+ font-size: 11px;
332+ backdrop-filter: blur(8px);
333+ -webkit-backdrop-filter: blur(8px);
334+ border: 1px solid rgba(45, 212, 191, 0.4);
335+ box-shadow:
336+ inset 0 1px 4px rgba(255, 255, 255, 0.25),
337+ 0 0 12px rgba(45, 212, 191, 0.5),
338+ 0 0 24px rgba(6, 182, 212, 0.3),
339+ 0 2px 8px rgba(0, 0, 0, 0.15);
340+ position: relative;
341+ overflow: hidden;
342+ animation: pulseGlow 2s ease-in-out infinite;
343+
344+ /* Glass overlay for depth */
345+ &::before {
346+ content: '';
347+ position: absolute;
348+ top: 0;
349+ left: 0;
350+ right: 0;
351+ height: 40%;
352+ background: linear-gradient(
353+ 180deg,
354+ rgba(255, 255, 255, 0.15) 0%,
355+ transparent 100%
356+ );
357+ pointer-events: none;
358+ }
359+
360+ @keyframes pulseGlow {
361+ 0%, 100% {
362+ box-shadow:
363+ inset 0 1px 4px rgba(255, 255, 255, 0.25),
364+ 0 0 12px rgba(45, 212, 191, 0.5),
365+ 0 0 24px rgba(6, 182, 212, 0.3),
366+ 0 2px 8px rgba(0, 0, 0, 0.15);
367+ }
368+ 50% {
369+ box-shadow:
370+ inset 0 1px 4px rgba(255, 255, 255, 0.25),
371+ 0 0 18px rgba(45, 212, 191, 0.7),
372+ 0 0 36px rgba(6, 182, 212, 0.5),
373+ 0 2px 10px rgba(0, 0, 0, 0.2);
374+ }
375+ }
376+ }
377+
378+ /* Hover effect on the badge count */
379+ &:hover .ant-badge-count {
380+ transform: scale(1.1);
339381 box-shadow:
340- 0 0 8px rgba(0, 255, 255, 0.5),
341- 0 0 16px rgba(0, 255, 255, 0.3);
342- border: none;
382+ inset 0 1px 6px rgba(255, 255, 255, 0.3),
383+ 0 0 20px rgba(45, 212, 191, 0.7),
384+ 0 0 40px rgba(6, 182, 212, 0.5),
385+ 0 3px 12px rgba(0, 0, 0, 0.2);
343386 }
344387` ;
345388
0 commit comments