@@ -30,29 +30,10 @@ export const ResponsiveNavigation: React.FC = memo(() => {
3030
3131 const isActive = useCallback ( ( path : string ) => {
3232 return location . pathname === path
33- ? 'text-sky-500 dark:text-sky-400 '
34- : 'text-slate-600 dark: text-slate-300 hover:text-slate-900 dark:hover: text-slate-100 ' ;
33+ ? 'text-brand-primary font-semibold '
34+ : 'text-brand- text-secondary hover:text-brand- text-primary ' ;
3535 } , [ location . pathname ] ) ;
3636
37- const toggleMobileMenu = useCallback ( ( ) => {
38- const newOpenState = ! isMobileMenuOpen ;
39- setIsMobileMenuOpen ( newOpenState ) ;
40-
41- if ( newOpenState ) {
42- announceToScreenReader ( t ( 'accessibility.navigation.menuOpened' ) ) ;
43- if ( mobileMenuRef . current ) {
44- cleanupRef . current = trapFocus ( mobileMenuRef . current ) ;
45- }
46- } else {
47- announceToScreenReader ( t ( 'accessibility.navigation.menuClosed' ) ) ;
48- if ( cleanupRef . current ) {
49- cleanupRef . current ( ) ;
50- cleanupRef . current = null ;
51- }
52- menuButtonRef . current ?. focus ( ) ;
53- }
54- } , [ isMobileMenuOpen , t ] ) ;
55-
5637 const closeMobileMenu = useCallback ( ( ) => {
5738 if ( isMobileMenuOpen ) {
5839 setIsMobileMenuOpen ( false ) ;
@@ -68,8 +49,7 @@ export const ResponsiveNavigation: React.FC = memo(() => {
6849 // Close on route change
6950 useEffect ( ( ) => {
7051 closeMobileMenu ( ) ;
71- // eslint-disable-next-line react-hooks/exhaustive-deps
72- } , [ location . pathname ] ) ;
52+ } , [ location . pathname , closeMobileMenu ] ) ;
7353
7454 useEffect ( ( ) => {
7555 const handleEscape = ( e : KeyboardEvent ) => {
@@ -95,10 +75,6 @@ export const ResponsiveNavigation: React.FC = memo(() => {
9575 < >
9676 < nav
9777 className = "border-b border-brand-surface-high bg-brand-surface-low/80 backdrop-blur-md sticky top-0 z-40"
98- return (
99- < >
100- < nav
101- className = "border-b border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 backdrop-blur-sm sticky top-0 z-40 transition-colors duration-200"
10278 role = "navigation"
10379 aria-label = "Main navigation"
10480 id = { navigationId . current }
@@ -128,15 +104,21 @@ export const ResponsiveNavigation: React.FC = memo(() => {
128104 { label }
129105 </ Link >
130106 ) ) }
107+ </ div >
108+ < div className = "flex items-center gap-3 ml-4 pl-4 border-l border-brand-surface-high" >
109+ < ThemeSwitcher variant = "icon" />
110+ < NetworkSwitcher showLabel = { false } />
111+ </ div >
112+ </ div >
131113
132- { /* Mobile/Tablet controls */ }
114+ { /* Mobile/Tablet menu button */ }
133115 < div className = "lg:hidden flex items-center gap-3" >
134116 < ThemeSwitcher variant = "icon" />
135117 < NetworkSwitcher showLabel = { false } />
136118 < button
137119 ref = { menuButtonRef }
138120 onClick = { toggleMobileMenu }
139- className = "p-2 rounded-lg text-slate-500 dark: text-slate-400 hover:text-slate-800 dark:hover: text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-800 transition-colors focus:outline-none focus:ring-2 focus:ring-sky-500 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-slate-900 "
121+ className = "p-2 rounded-lg text-brand- text-secondary hover:text-brand- text-primary hover:bg-brand-surface-high transition-colors focus:outline-none focus:ring-2 focus:ring-brand-primary focus:ring-offset-2 focus:ring-offset-brand-bg "
140122 aria-label = { getAriaLabel ( 'menu-button' ) }
141123 aria-expanded = { isMobileMenuOpen }
142124 aria-controls = { navigationId . current }
@@ -153,9 +135,9 @@ export const ResponsiveNavigation: React.FC = memo(() => {
153135 </ div >
154136 </ div >
155137
156- { /* Tablet Navigation row */ }
157- < div className = "hidden md:flex lg:hidden py-3 border-t border-slate-200 dark:border-slate-800 " role = "menubar" >
158- < div className = "flex items-center gap-4 text-sm w-full justify-center flex-1" >
138+ { /* Tablet Navigation row (shown on md/lg, hidden on lg+) */ }
139+ < div className = "hidden md:flex lg:hidden py-3 border-t border-brand-surface-high " role = "menubar" >
140+ < div className = "flex items-center gap-2 text-sm w-full justify-center flex-1 flex-wrap " >
159141 { NAV_ITEMS . map ( ( { path, label } ) => (
160142 < Link
161143 key = { path }
@@ -168,10 +150,6 @@ export const ResponsiveNavigation: React.FC = memo(() => {
168150 </ Link >
169151 ) ) }
170152 </ div >
171- < div className = "flex items-center gap-3 ml-auto" >
172- < ThemeSwitcher variant = "icon" />
173- < NetworkSwitcher showLabel = { false } />
174- </ div >
175153 </ div >
176154 </ nav >
177155
0 commit comments