@@ -8,7 +8,8 @@ import logo from '../../assets/images/logo.png';
8
8
import AppThemeToggle from './AppThemeToggle' ;
9
9
import { useTranslation } from 'react-i18next' ;
10
10
11
- interface DropdownProps {
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ type DropdownProps = {
12
13
i18n : {
13
14
changeLanguage : ( lang : string ) => void ;
14
15
language : string ;
@@ -34,41 +35,43 @@ const NavigationBar = () => {
34
35
setMenuOpen ( ! menuOpen )
35
36
}
36
37
37
- const { t, i18n } = useTranslation ( ) ;
38
+ const { t, i18n } = useTranslation ( ) ;
38
39
39
- const changeLanguage = ( lang : string ) => {
40
- i18n . changeLanguage ( lang ) ;
41
- console . log ( i18n . language ) ;
42
- i18n . options . lng = i18n . language ;
43
- } ;
40
+ const changeLanguage = ( lang : string ) => {
41
+ i18n . changeLanguage ( lang ) ;
42
+ console . log ( i18n . language ) ;
43
+ i18n . options . lng = i18n . language ;
44
+ } ;
44
45
45
- const [ isOpen , setIsOpen ] = useState ( false ) ;
46
+ const [ isOpen , setIsOpen ] = useState ( false ) ;
46
47
47
- const toggleDropdown = ( ) => {
48
- setIsOpen ( ! isOpen ) ;
49
- } ;
48
+ const toggleDropdown = ( ) => {
49
+ setIsOpen ( ! isOpen ) ;
50
+ } ;
50
51
51
- const handleOptionClick = ( lang : string ) => {
52
- changeLanguage ( lang ) ;
53
- setIsOpen ( false ) ; // Close dropdown after selection
54
- } ;
52
+ const handleOptionClick = ( lang : string ) => {
53
+ changeLanguage ( lang ) ;
54
+ setIsOpen ( false ) ; // Close dropdown after selection
55
+ } ;
55
56
56
- const getButtonText = ( ) => {
57
- switch ( i18n . language ) {
58
- case 'en' :
59
- return (
60
- < >
61
- < span style = { { display :"inline-flex" } } > < img src = "https://flagcdn.com/gb.svg" height = "25" width = "25" alt = "England" /> </ span > { " " + t ( 'lang.eng' ) }
62
- </ > ) ; // Show English label
57
+ const getButtonText = ( ) => {
58
+ switch ( i18n . language ) {
59
+ case 'en' :
60
+ return (
61
+ < >
62
+ < span style = { { display :"inline-flex" } } >
63
+ < img src = "https://flagcdn.com/gb.svg" height = "25" width = "25" alt = "England" />
64
+ </ span > { " " + t ( 'lang.eng' ) }
65
+ </ > ) ; // Show English label
63
66
64
- default :
65
- return (
66
- < >
67
- < span className = "fi fi-gb" > </ span >
68
- { t ( 'lang.eng' ) }
69
- </ > ) ; // Default to English if language is unknown
70
- }
71
- } ;
67
+ default :
68
+ return (
69
+ < >
70
+ < span className = "fi fi-gb" > </ span >
71
+ { t ( 'lang.eng' ) }
72
+ </ > ) ; // Default to English if language is unknown
73
+ }
74
+ } ;
72
75
73
76
74
77
return (
@@ -171,22 +174,36 @@ const NavigationBar = () => {
171
174
</Link>
172
175
</li> */ }
173
176
174
- < li className = "block my-1 px-4 py-2 relative hover:bg-gray-700 border border-gray-600" style = { { cursor :'pointer' } } >
175
- < button
176
- style = { { cursor : 'pointer' , color : 'white' , padding : '' , borderRadius : '5px' } }
177
- onClick = { toggleDropdown }
178
- >
179
- { getButtonText ( ) }
180
- </ button >
181
- < ul
182
- className = { `absolute w-24 bg-gray-800 rounded-md shadow-lg ${ isOpen ? 'block' : 'hidden' } ` }
183
- style = { { left : '-50%' , transform : 'translateX(-21%)' , top : '-16%' , marginTop : '8px' , } }
184
- >
185
- < li className = "px-4 py-2 hover:bg-gray-700 cursor-pointer" onClick = { ( ) => handleOptionClick ( 'en' ) } > < span style = { { display :"inline-flex" } } > < img src = "https://flagcdn.com/gb.svg" height = "25" width = "25" alt = "England" /> </ span > English</ li >
177
+ < li className = "block my-1 px-4 py-2 relative hover:bg-gray-700 border border-gray-600"
178
+ style = { { cursor :'pointer' } }
179
+ >
180
+ < button
181
+ style = { { cursor : 'pointer' , color : 'white' , padding : '' , borderRadius : '5px' } }
182
+ onClick = { toggleDropdown }
183
+ >
184
+ { getButtonText ( ) }
185
+ </ button >
186
+ < ul
187
+ className = { `absolute w-24 bg-gray-800 rounded-md shadow-lg
188
+ ${ isOpen ? 'block' : 'hidden' } `
189
+ }
190
+ style = { { left : '-50%' , transform : 'translateX(-21%)' ,
191
+ top : '-16%' , marginTop : '8px'
192
+ } }
193
+ >
194
+ < li className = "px-4 py-2 hover:bg-gray-700 cursor-pointer"
195
+ onClick = { ( ) => handleOptionClick ( 'en' ) }
196
+ >
197
+ < span style = { { display :"inline-flex" } } >
198
+ < img src = "https://flagcdn.com/gb.svg"
199
+ height = "25" width = "25" alt = "England"
200
+ />
201
+ </ span > English
202
+ </ li >
186
203
187
- { /* Add more options as needed */ }
188
- </ ul >
189
- </ li >
204
+ { /* Add more options as needed */ }
205
+ </ ul >
206
+ </ li >
190
207
{ isLoggedIn ? (
191
208
< >
192
209
< li className = "my-1" >
@@ -230,17 +247,17 @@ const NavigationBar = () => {
230
247
</ li >
231
248
< li className = "mr-8" >
232
249
< Link to = "/plugins" className = "hover:text-blue-500" >
233
- Plugins
250
+ Plugins
234
251
</ Link >
235
252
</ li >
236
253
< li className = "mr-8" >
237
254
< Link to = "/themes" className = "hover:text-blue-500" >
238
- Themes
255
+ Themes
239
256
</ Link >
240
257
</ li >
241
258
< li className = "mr-8" >
242
259
< Link to = "/theme-builder" className = "hover:text-blue-500" >
243
- Theme Builder
260
+ Theme Builder
244
261
</ Link >
245
262
</ li >
246
263
< li className = "mr-8" >
@@ -268,26 +285,37 @@ const NavigationBar = () => {
268
285
</Link>
269
286
</li> */ }
270
287
271
- < li className = "block mr-8 relative" >
272
- < button
273
- style = { { cursor : 'pointer' , backgroundColor : 'black' , color : 'white' , padding : '' , borderRadius : '5px' } }
274
- onClick = { toggleDropdown }
275
- >
276
- { getButtonText ( ) }
277
- </ button >
278
- < ul
279
- className = { `absolute mt-2 w-28 bg-black shadow-lg ${ isOpen ? 'block' : 'hidden' } ` }
280
- style = { { zIndex : 1000 , left : '50%' , transform : 'translateX(-50%)' , top : '100%' , marginTop : '8px' , } }
281
- >
282
- < li className = "px-2 py-2 hover:bg-blue-500 cursor-pointer" onClick = { ( ) => changeLanguage ( 'en' ) } > < span style = { { display :"inline-flex" } } > < img src = "https://flagcdn.com/gb.svg" height = "25" width = "25" alt = "England" /> </ span > English </ li >
283
- { /* Add more options as needed */ }
284
- </ ul >
285
- </ li >
288
+ < li className = "block mr-8 relative" >
289
+ < button
290
+ style = { { cursor : 'pointer' , backgroundColor : 'black' ,
291
+ color : 'white' , padding : '' , borderRadius : '5px'
292
+ } }
293
+ onClick = { toggleDropdown }
294
+ >
295
+ { getButtonText ( ) }
296
+ </ button >
297
+ < ul
298
+ className = { `absolute mt-2 w-28 bg-black shadow-lg ${ isOpen ? 'block' : 'hidden' } ` }
299
+ style = { { zIndex : 1000 , left : '50%' , transform : 'translateX(-50%)' ,
300
+ top : '100%' , marginTop : '8px'
301
+ } }
302
+ >
303
+ < li className = "px-2 py-2 hover:bg-blue-500 cursor-pointer"
304
+ onClick = { ( ) => changeLanguage ( 'en' ) }
305
+ >
306
+ < span style = { { display :"inline-flex" } } >
307
+ < img src = "https://flagcdn.com/gb.svg" height = "25" width = "25" alt = "England" />
308
+ </ span >
309
+ English
310
+ </ li >
311
+ { /* Add more options as needed */ }
312
+ </ ul >
313
+ </ li >
286
314
{ isLoggedIn ? (
287
315
< >
288
316
< li className = "mr-8" >
289
317
< Link to = "/profile" className = "hover:text-blue-500" >
290
- Profile { /* {t('navbar.profile')} */ }
318
+ Profile { /* {t('navbar.profile')} */ }
291
319
</ Link >
292
320
</ li >
293
321
< li >
0 commit comments