From 45e1934bee8032400fb4e1530f5e7dcb4f274e7a Mon Sep 17 00:00:00 2001 From: Nirodan Date: Fri, 24 Apr 2026 18:02:15 +0200 Subject: [PATCH] Fix App.jsx: remove dead comment, make auth state reactive - Remove leftover commented-out AdminDashboard import - Replace static localStorage reads with useState + useEffect so isLoggedIn/role update automatically on storage events (e.g. token deleted in another tab) Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/App.jsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index d6879bd..54b0814 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,5 +1,5 @@ import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'; -//import AdminDashboard from './components/AdminDashboard'; +import { useState, useEffect } from 'react'; import LoginForm from './components/LoginForm'; //import RegisterForm from './components/RegisterForm'; import Md5Tool from './components/Md5Tool'; @@ -24,8 +24,17 @@ import './css/admin.css'; function App() { - const isLoggedIn = localStorage.getItem('token') !== null; - const role = localStorage.getItem('role'); + const [isLoggedIn, setIsLoggedIn] = useState(localStorage.getItem('token') !== null); + const [role, setRole] = useState(localStorage.getItem('role')); + + useEffect(() => { + const sync = () => { + setIsLoggedIn(localStorage.getItem('token') !== null); + setRole(localStorage.getItem('role')); + }; + window.addEventListener('storage', sync); + return () => window.removeEventListener('storage', sync); + }, []); return (