Initial commit

This commit is contained in:
ChuXun
2026-01-28 23:56:33 +08:00
commit f98da73376
92 changed files with 8261 additions and 0 deletions

48
frontend/src/App.tsx Normal file
View File

@@ -0,0 +1,48 @@
import React from 'react';
import { Routes, Route } from 'react-router-dom';
import RequireAuth from './components/RequireAuth';
import Layout from './components/Layout';
import Login from './pages/Login';
import Dashboard from './pages/Dashboard';
import Attendance from './pages/Attendance';
import Leave from './pages/Leave';
import Approvals from './pages/Approvals';
import Users from './pages/Users';
import Notifications from './pages/Notifications';
export default function App() {
return (
<Routes>
<Route path="/login" element={<Login />} />
<Route
element={
<RequireAuth>
<Layout />
</RequireAuth>
}
>
<Route index element={<Dashboard />} />
<Route path="/attendance" element={<Attendance />} />
<Route path="/leave" element={<Leave />} />
<Route
path="/approvals"
element={
<RequireAuth roles={['ADMIN', 'MANAGER']}>
<Approvals />
</RequireAuth>
}
/>
<Route
path="/users"
element={
<RequireAuth roles={['ADMIN', 'MANAGER']}>
<Users />
</RequireAuth>
}
/>
<Route path="/notifications" element={<Notifications />} />
</Route>
</Routes>
);
}