ShiftSync/src/router/AppRouter.jsx

73 lines
1.7 KiB
React
Raw Normal View History

import React, { useEffect, useState } from 'react';
2025-05-20 16:28:48 +00:00
import { Routes, Route } from 'react-router-dom';
import { Home, Profile, Schedule, Settings } from '@src/pages';
import { Shell } from '@components';
import { useLocalStore } from '@components';
2025-05-20 16:28:48 +00:00
const dept = {
id: 1,
name: 'Darien EMS - Post 53',
Abv: 'DEMS',
schedulers: [],
managers: [],
administrators: [1]
};
2025-05-20 16:28:48 +00:00
const AppRouter = () => {
const { user, setUser, setDepartment } = useLocalStore();
const [userChanged, setUserChanged] = useState(false);
useEffect(() => {
setDepartment(dept);
setUser({
2025-05-27 14:45:28 +00:00
id: 1,
firstName: 'ShiftSync-Manager',
2025-05-26 01:40:36 +00:00
lastName: 'Test-User',
email: 'testuser@shift-sync.com',
scheduler: dept?.schedulers?.includes(1),
manager: dept?.managers?.includes(1),
administrator: dept?.administrators?.includes(1),
isSSAdmin: false
});
}, []);
2025-05-26 01:40:36 +00:00
useEffect(() => {
if (!userChanged && user) {
if (user?.isSSAdmin) {
setUser({
...user,
scheduler: true,
manager: true,
administrator: true,
});
} else if (user?.administrator) {
setUser({
...user,
scheduler: true,
manager: true,
});
} else if (user?.manager) {
setUser({
...user,
scheduler: true,
});
}
setUserChanged(true);
}
}, [user]);
2025-05-20 16:28:48 +00:00
return (
<Shell>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/schedule" element={<Schedule />} />
<Route path="/settings" element={<Settings />} />
<Route path="/profile" element={<Profile />} />
</Routes>
</Shell>
2025-05-20 16:28:48 +00:00
);
};
export default AppRouter