Ignore:
Timestamp:
08/30/26 00:27:08 (3 weeks ago)
Author:
MBK <marija.karapandzova@…>
Branches:
master
Children:
e1f74f6
Parents:
b63d7b5
Message:

Implement advanced database queries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • frontend/src/App.js

    rb63d7b5 r20d16ca  
    11import React, { useEffect, useState } from 'react';
    2 import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
     2import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
    33import Navbar from './components/Navbar';
     4import ProtectedRoute from './components/ProtectedRoute';
     5import Login from './pages/Login';
    46import Dashboard from './pages/Dashboard';
    57import PatientList from './pages/patients/PatientList';
     
    2729function App() {
    2830  const [user, setUser] = useState(null);
     31  const [refresh, setRefresh] = useState(0);
    2932
    3033  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]);
    3665
    3766  return (
     
    77106              <Route path="/medical-reports" element={<ProtectedRoute><MedicalReportList /></ProtectedRoute>} />
    78107
    79               {/* Referral Routes */}
    80               <Route path="/referrals" element={<ProtectedRoute><ReferralList /></ProtectedRoute>} />
    81 
    82108              {/* Lab Test Routes */}
    83109              <Route path="/lab-tests" element={<ProtectedRoute><LabTestList /></ProtectedRoute>} />
     
    92118              <Route path="/billing/:id" element={<ProtectedRoute><BillingDetail /></ProtectedRoute>} />
    93119
    94 
     120              {/* Referral Routes */}
     121              <Route path="/referrals" element={<ProtectedRoute><ReferralList /></ProtectedRoute>} />
    95122            </Routes>
    96123          </main>
Note: See TracChangeset for help on using the changeset viewer.