@@ -20,6 +20,9 @@ const Header = ({ showSidebar }) => {
20
20
const { t, i18n } = useTranslation ( ) ;
21
21
const navigate = useNavigate ( ) ;
22
22
const { width } = useWindowSize ( ) ;
23
+ const current_notification_version = "1" ; // Update this with each new feature release
24
+ // Get the dismissed version from local storage
25
+ const dismissedVersion = localStorage . getItem ( "notificationDismissedVersion" ) ;
23
26
const username = localStorage . getItem ( "username" ) || "" ;
24
27
const image = localStorage . getItem ( "profileImg" ) || dp ;
25
28
const [ isOpen , setIsOpen ] = useState ( false ) ;
@@ -30,7 +33,10 @@ const Header = ({ showSidebar }) => {
30
33
) ;
31
34
const [ emailUsed , setEmailUsed ] = useState ( 0 ) ;
32
35
const [ isModal , setIsModal ] = useState ( false ) ;
33
-
36
+ const [ showNotification , setShowNotification ] = useState (
37
+ ( ! dismissedVersion || dismissedVersion !== current_notification_version ) &&
38
+ true
39
+ ) ;
34
40
const toggleDropdown = ( ) => {
35
41
setIsOpen ( ! isOpen ) ;
36
42
} ;
@@ -115,17 +121,34 @@ const Header = ({ showSidebar }) => {
115
121
const handleMailUsed = ( ) => {
116
122
setIsModal ( ! isModal ) ;
117
123
} ;
124
+ // Handle dismissing the notification
125
+ const dismissNotification = ( ) => {
126
+ // Store the current version as dismissed in local storage
127
+ localStorage . setItem (
128
+ "notificationDismissedVersion" ,
129
+ current_notification_version
130
+ ) ;
131
+ setShowNotification ( false ) ;
132
+ } ;
118
133
return (
119
134
< div >
120
- { isEnableSubscription && (
121
- < div className = "shadow py-1 text-center bg-[#CAE4FA] text-[14px] p-1" >
122
- { t ( "header-news" ) } —
123
- < span
124
- className = "cursor-pointer font-medium underline text-blue-800"
125
- onClick = { ( ) => navigate ( "/profile" ) }
135
+ { isEnableSubscription && showNotification && (
136
+ < div className = "flex justify-between items-center shadow py-1 bg-[#CAE4FA] p-1" >
137
+ < div className = "text-center text-[14px] ml-auto" >
138
+ { t ( "header-news" ) } —
139
+ < span
140
+ className = "cursor-pointer font-medium underline text-blue-800"
141
+ onClick = { ( ) => navigate ( "/profile" ) }
142
+ >
143
+ { " " + t ( "header-news-btn" ) + "." }
144
+ </ span >
145
+ </ div >
146
+ < div
147
+ className = "ml-auto mr-1 cursor-pointer"
148
+ onClick = { ( ) => dismissNotification ( ) }
126
149
>
127
- { " " + t ( "header-news-btn" ) + "." }
128
- </ span >
150
+ < i className = "fa-light fa-xmark" > </ i >
151
+ </ div >
129
152
</ div >
130
153
) }
131
154
< div className = "op-navbar bg-base-100 shadow" >
0 commit comments