Changeset 20d16ca for frontend/src/App.js
- Timestamp:
- 08/30/26 00:27:08 (3 weeks ago)
- Branches:
- master
- Children:
- e1f74f6
- Parents:
- b63d7b5
- File:
-
- 1 edited
-
frontend/src/App.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/App.js
rb63d7b5 r20d16ca 1 1 import React, { useEffect, useState } from 'react'; 2 import { BrowserRouter as Router, Routes, Route , Navigate} from 'react-router-dom';2 import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; 3 3 import Navbar from './components/Navbar'; 4 import ProtectedRoute from './components/ProtectedRoute'; 5 import Login from './pages/Login'; 4 6 import Dashboard from './pages/Dashboard'; 5 7 import PatientList from './pages/patients/PatientList'; … … 27 29 function App() { 28 30 const [user, setUser] = useState(null); 31 const [refresh, setRefresh] = useState(0); 29 32 30 33 useEffect(() => { 31 const userStr = localStorage.getItem('user'); 32 if (userStr) { 33 setUser(JSON.parse(userStr)); 34 } 35 }, []); 34 const loadUser = () => { 35 const userStr = localStorage.getItem('user'); 36 if (userStr) { 37 try { 38 setUser(JSON.parse(userStr)); 39 } catch (err) { 40 console.error('Failed to parse user:', err); 41 setUser(null); 42 } 43 } else { 44 setUser(null); 45 } 46 }; 47 48 loadUser(); 49 50 // Listen for storage changes (other tabs/windows) 51 window.addEventListener('storage', loadUser); 52 53 // Create a custom event listener for same-tab changes 54 const handleStorageChange = (e) => { 55 console.log('Storage change detected:', e.detail); 56 loadUser(); 57 }; 58 window.addEventListener('userStorageChange', handleStorageChange); 59 60 return () => { 61 window.removeEventListener('storage', loadUser); 62 window.removeEventListener('userStorageChange', handleStorageChange); 63 }; 64 }, [refresh]); 36 65 37 66 return ( … … 77 106 <Route path="/medical-reports" element={<ProtectedRoute><MedicalReportList /></ProtectedRoute>} /> 78 107 79 {/* Referral Routes */}80 <Route path="/referrals" element={<ProtectedRoute><ReferralList /></ProtectedRoute>} />81 82 108 {/* Lab Test Routes */} 83 109 <Route path="/lab-tests" element={<ProtectedRoute><LabTestList /></ProtectedRoute>} /> … … 92 118 <Route path="/billing/:id" element={<ProtectedRoute><BillingDetail /></ProtectedRoute>} /> 93 119 94 120 {/* Referral Routes */} 121 <Route path="/referrals" element={<ProtectedRoute><ReferralList /></ProtectedRoute>} /> 95 122 </Routes> 96 123 </main>
Note:
See TracChangeset
for help on using the changeset viewer.
