ShiftSync/src/router/AppRouter.jsx

84 lines
2 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,
company: 'Darien EMS - Post 53',
2025-05-29 20:05:19 +00:00
abv: 'DEMS',
billing_address: '0 Ledge Road',
town: 'Darien',
state: 'Connecticut',
postal: '06820',
country: 'United States',
phone: '',
2025-05-29 20:05:19 +00:00
display_time: '12',
start_day: 'sunday',
company_logo: '',
employee_count: 1,
subscription_expiration: '10/01/2025',
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,
2025-05-29 20:05:19 +00:00
first_name: 'ShiftSync-Manager',
last_name: 'Test-User',
2025-05-26 01:40:36 +00:00
email: 'testuser@shift-sync.com',
scheduler: dept?.schedulers?.includes(1),
manager: dept?.managers?.includes(1),
administrator: dept?.administrators?.includes(1),
2025-05-29 20:05:19 +00:00
is_ss_admin: false
});
}, []);
2025-05-26 01:40:36 +00:00
useEffect(() => {
if (!userChanged && user) {
2025-05-29 20:05:19 +00:00
if (user?.is_ss_admin) {
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