@@ -25,23 +25,36 @@ import logo10 from '../assets/newLogoWhite_color10.png';
25
25
import logo11 from '../assets/newLogoWhite_color11.png' ;
26
26
import logo12 from '../assets/newLogoWhite_color12.png' ;
27
27
28
- const linkbtn = 'mt-4 inline-block lg:mt-0 text-white hover:text-white mr-4' ;
28
+ const linkbtn = 'inline-block text-white hover:text-white mr-4' ;
29
29
30
30
function Navbar ( ) {
31
31
// dbSpy 8.0: removed theme state and add state for the animated logo
32
32
const [ currentLogo , setCurrentLogo ] = useState < string > ( logo ) ;
33
33
const toggleClicked = useNavStore ( ( state ) => state . toggleClicked ) ;
34
- const toggleNav = useNavStore ( ( state ) :any => state . toggleNav ) ;
34
+ const toggleNav = useNavStore ( ( state ) : any => state . toggleNav ) ;
35
35
// toggleNav();
36
36
//STATE DECLARATION (dbSpy3.0)
37
37
const { user } = useCredentialsStore ( ( state ) : any => state ) ;
38
38
//END: STATE DECLARATION
39
39
40
40
// dbSpy 8.0: made logo animation sparkling in the navbar
41
41
const logoImgArr : string [ ] = [
42
- logo1 , logo2 , logo3 , logo4 , logo5 , logo6 ,
43
- logo7 , logo8 , logo9 , logo10 , logo11 , logo12 ,
44
- logo12 , logo12 , logo12 , logo
42
+ logo1 ,
43
+ logo2 ,
44
+ logo3 ,
45
+ logo4 ,
46
+ logo5 ,
47
+ logo6 ,
48
+ logo7 ,
49
+ logo8 ,
50
+ logo9 ,
51
+ logo10 ,
52
+ logo11 ,
53
+ logo12 ,
54
+ logo12 ,
55
+ logo12 ,
56
+ logo12 ,
57
+ logo ,
45
58
] ;
46
59
// Effect to cycle through images automatically
47
60
useEffect ( ( ) => {
@@ -56,51 +69,53 @@ function Navbar() {
56
69
57
70
return (
58
71
< >
59
- < nav className = "fixed top-0 flex w-full flex-wrap items-center justify-between bg-gradient-to-b from-sky-700 to-transparent bg-opacity-80 p-3 z-50 backdrop-blur-md" >
60
-
61
- < div className = "navItems text-base" >
72
+ < nav className = "fixed top-0 z-50 flex w-full flex-wrap items-center justify-between bg-opacity-80 bg-gradient-to-b from-sky-700 to-transparent p-3 backdrop-blur-md" >
73
+ < div className = "navItems flex min-w-0 items-center gap-3" >
62
74
{ /* dbSpy 8.0: added toggle button to control FeatureTab */ }
63
75
< img
64
- className = "pointer-events-auto mb-1 mt-1 inline-block h-[40px] w-[50px] pr-3 filter hover:cursor-pointer hover:translate-y-[-2px] transition-transform duration-200 "
76
+ className = "w-[25px] shrink-0 filter transition-transform duration-200 hover:translate-y-[-2px] hover:cursor-pointer "
65
77
src = { toggleClicked ? sidebarClose : sidebarOpen }
66
78
alt = "Toggle Sidebar"
67
79
onClick = { toggleNav }
68
80
/>
69
81
70
82
{ /* Sparkling logo */ }
71
- < img className = "mr-5 inline-block h-[45] fill-current " src = { currentLogo } alt = "Logo" />
83
+ < img className = "mr-3 h-[45px] w-auto shrink-0 " src = { currentLogo } alt = "Logo" />
72
84
73
- < NavLink to = "/" className = { linkbtn } >
74
- Home
75
- </ NavLink >
76
- < NavLink to = "/display" data-testid = "navbar-display" className = { linkbtn } >
77
- Display
78
- </ NavLink >
85
+ < div className = "flex min-w-0 items-center gap-2 overflow-hidden whitespace-nowrap" >
86
+ < NavLink to = "/" className = { `${ linkbtn } flex items-center` } >
87
+ Home
88
+ </ NavLink >
89
+ < NavLink to = "/display" data-testid = "navbar-display" className = { `${ linkbtn } flex items-center` } >
90
+ Display
91
+ </ NavLink >
92
+ </ div >
79
93
</ div >
80
- < div >
94
+ < div className = "flex items-center justify-end gap-2" >
81
95
{ user ? (
82
96
< >
83
- { /* inline-block: behave like an inline element but allows width and height modifications */ }
84
- { /* pt: padding to top, dark:text-white: change text color to white in dark mode */ }
85
- { /* lg: large screens, mt-0: margin-top: 0, on lg mode */ }
86
- < span className = "mt-4 inline-block mx-auto text-blue-200 lg:mt-0 " >
97
+ { /* inline-block: behave like an inline element but allows width and height modifications */ }
98
+ { /* pt: padding to top, dark:text-white: change text color to white in dark mode */ }
99
+ { /* lg: large screens, mt-0: margin-top: 0, on lg mode */ }
100
+ < span className = "text-blue-200" >
87
101
{ user . full_name }
88
102
</ span >
89
103
{ /* ml: margin left, mr: margin right, rounded-full: make the image circular, dark:invert: invert color in dark mode */ }
90
104
< img
91
- className = "ml-2 mr-2 inline-block h-[25 ] rounded-full invert"
105
+ className = "h-[25px] w-[25px ] rounded-full invert"
92
106
src = { default_pfp }
93
107
/>
94
108
</ >
95
109
) : (
96
- < div className = "flex justify-end" >
110
+ < >
97
111
< NavLink
98
112
to = "/login"
99
- className = "text-white text-base font-bold leading-normal" >
113
+ className = "text-white text-base font-bold"
114
+ >
100
115
Login
101
116
</ NavLink >
102
- < img className = "mr-3 ml-3 inline-block h-[20 ] invert" src = { login } />
103
- </ div >
117
+ < img className = "h-[20px] w-[20px ] invert" src = { login } />
118
+ </ >
104
119
) }
105
120
</ div >
106
121
</ nav >
0 commit comments