Skip to content

Commit 318d728

Browse files
committed
fix: Replace useEffect setState with handler function to fix lint error
1 parent 125d8f7 commit 318d728

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/App.jsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)