@@ -43,10 +43,11 @@ function App() {
4343 const [ showDeleteConfirm , setShowDeleteConfirm ] = useState ( false ) ;
4444 const [ showClearAllConfirm , setShowClearAllConfirm ] = useState ( false ) ;
4545
46- // Close mobile menu when view changes
47- useEffect ( ( ) => {
46+ // Handler to change view and close mobile menu
47+ const handleViewChange = ( newView ) => {
48+ setView ( newView ) ;
4849 setMobileMenuOpen ( false ) ;
49- } , [ view ] ) ;
50+ } ;
5051
5152 // Update page title with troop identifier
5253 useEffect ( ( ) => {
@@ -204,15 +205,15 @@ function App() {
204205 < nav className = "flex-1 p-2 flex flex-col gap-0.5" >
205206 < button
206207 className = { `flex items-center gap-3 w-full py-3 md:py-2.5 px-3 rounded text-left font-medium text-white/85 hover:bg-white/10 hover:text-white transition-colors ${ view === 'results' ? 'border-l-6 border-derby-tan bg-white/10 text-white font-bold' : 'border-l-6 border-transparent' } ${ sidebarCollapsed ? 'md:justify-center md:px-2.5 md:gap-0' : '' } ` }
207- onClick = { ( ) => setView ( 'results' ) }
208+ onClick = { ( ) => handleViewChange ( 'results' ) }
208209 title = "Results"
209210 >
210211 < BarChart3 size = { 20 } className = "w-6 min-w-6" />
211212 < span className = { `whitespace-nowrap transition-opacity duration-150 ${ sidebarCollapsed ? 'md:hidden' : '' } ` } > Results</ span >
212213 </ button >
213214 < button
214215 className = { `flex items-center gap-3 w-full py-3 md:py-2.5 px-3 rounded text-left font-medium text-white/85 hover:bg-white/10 hover:text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed ${ view === 'voting' ? 'border-l-6 border-derby-tan bg-white/10 text-white font-bold' : 'border-l-6 border-transparent' } ${ sidebarCollapsed ? 'md:justify-center md:px-2.5 md:gap-0' : '' } ` }
215- onClick = { ( ) => setView ( 'voting' ) }
216+ onClick = { ( ) => handleViewChange ( 'voting' ) }
216217 disabled = { event . categories . length === 0 || getCars ( event ) . length === 0 }
217218 title = "Vote"
218219 >
@@ -225,7 +226,7 @@ function App() {
225226 < div className = { `flex items-center gap-1 ${ sidebarCollapsed ? 'md:flex-col md:gap-0.5' : '' } ` } >
226227 < button
227228 className = { `flex items-center gap-3 flex-1 py-3 md:py-2.5 px-3 rounded text-left font-medium text-white/85 hover:bg-white/10 hover:text-white transition-colors ${ view === 'setup' ? 'border-l-6 border-derby-tan bg-white/10 text-white font-bold' : 'border-l-6 border-transparent' } ${ sidebarCollapsed ? 'md:w-full md:justify-center md:px-0 md:gap-0' : '' } ` }
228- onClick = { ( ) => setView ( 'setup' ) }
229+ onClick = { ( ) => handleViewChange ( 'setup' ) }
229230 title = "Setup"
230231 >
231232 < Settings size = { 20 } className = "w-6 min-w-6" />
0 commit comments