Initial commit – TimeMaster Zeiterfassung & HR-Tool

Stand: agent-06 (Audit-Log), agent-05 (Krankmeldung), agent-07 Phase 1 (Personalnummer),
Busylight-Pull-Integration, TOTP/2FA, Abwesenheiten, Zeiterfassung, Kiosk-Grundgerüst.
Migrations 0001–0023 deployed auf 192.168.1.137 + .164.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-05-23 20:03:27 +02:00
commit 1fedd683e0
178 changed files with 29896 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { AuthProvider } from './context/AuthContext'
import { ProtectedRoute } from './components/ProtectedRoute'
import { LoginPage } from './pages/LoginPage'
import { RegisterPage } from './pages/RegisterPage'
import { DashboardPage } from './pages/DashboardPage'
import { UsersPage } from './pages/UsersPage'
import { LdapSettingsPage } from './pages/LdapSettingsPage'
import { TimeTrackingPage } from './pages/TimeTrackingPage'
import { AbsencesPage } from './pages/AbsencesPage'
import { SmtpSettingsPage } from './pages/SmtpSettingsPage'
import { ForgotPasswordPage } from './pages/ForgotPasswordPage'
import { ResetPasswordPage } from './pages/ResetPasswordPage'
import { WorkSchedulePage } from './pages/WorkSchedulePage'
import { CalendarPage } from './pages/CalendarPage'
import { ReportsPage } from './pages/ReportsPage'
import { CaldavSettingsPage } from './pages/CaldavSettingsPage'
import { AbsenceTypesPage } from './pages/AbsenceTypesPage'
import ImportPage from './pages/ImportPage'
import UserImportPage from './pages/UserImportPage'
import { CompanySettingsPage } from './pages/CompanySettingsPage'
import { ProfilePage } from './pages/ProfilePage'
import { KioskDevicesPage } from './pages/KioskDevicesPage'
import { AuditLogPage } from './pages/AuditLogPage'
export default function App() {
return (
<BrowserRouter>
<AuthProvider>
<Routes>
<Route path='/login' element={<LoginPage />} />
<Route path='/register' element={<RegisterPage />} />
<Route path='/forgot-password' element={<ForgotPasswordPage />} />
<Route path='/auth/reset-password' element={<ResetPasswordPage />} />
<Route element={<ProtectedRoute />}>
<Route path='/dashboard' element={<DashboardPage />} />
<Route path='/time' element={<TimeTrackingPage />} />
<Route path='/absences' element={<AbsencesPage />} />
<Route path='/users' element={<UsersPage />} />
<Route path='/users/import' element={<UserImportPage />} />
<Route path='/settings/ldap' element={<LdapSettingsPage />} />
<Route path='/settings/smtp' element={<SmtpSettingsPage />} />
<Route path='/work-schedules' element={<WorkSchedulePage />} />
<Route path='/calendar' element={<CalendarPage />} />
<Route path='/reports' element={<ReportsPage />} />
<Route path='/settings/caldav' element={<CaldavSettingsPage />} />
<Route path='/settings/absence-types' element={<AbsenceTypesPage />} />
<Route path='/settings/import' element={<ImportPage />} />
<Route path='/settings/company' element={<CompanySettingsPage />} />
<Route path='/settings/kiosk' element={<KioskDevicesPage />} />
<Route path='/settings/audit-log' element={<AuditLogPage />} />
<Route path='/profile' element={<ProfilePage />} />
</Route>
<Route path='*' element={<Navigate to='/login' replace />} />
</Routes>
</AuthProvider>
</BrowserRouter>
)
}