feat: mobile Login-Seite /mobile/login
- MobileLoginPage.tsx: touch-optimiertes Login-Formular - E-Mail + Passwort mit großen Touch-Targets (min-h-[52px]) - TOTP-Flow: nach erstem Login automatisch 6-stelliges Code-Feld - Numerische Tastatur (inputMode=numeric) für TOTP-Eingabe - Fehlerbehandlung + Ladezustand - Link zur Desktop-Version - MobilePage: Redirect zu /mobile/login statt /login - App.tsx: Route /mobile/login registriert (kein Layout-Wrapper) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,8 @@ import { KioskDevicesPage } from './pages/KioskDevicesPage'
|
||||
import { AuditLogPage } from './pages/AuditLogPage'
|
||||
import { KioskSetupPage } from './pages/KioskSetupPage'
|
||||
import { KioskStampPage } from './pages/KioskStampPage'
|
||||
import { MobilePage } from './pages/mobile/MobilePage'
|
||||
import { MobileLoginPage } from './pages/mobile/MobileLoginPage'
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
@@ -36,6 +38,8 @@ export default function App() {
|
||||
<Route path='/auth/reset-password' element={<ResetPasswordPage />} />
|
||||
<Route path='/kiosk/setup' element={<KioskSetupPage />} />
|
||||
<Route path='/kiosk' element={<KioskStampPage />} />
|
||||
<Route path='/mobile' element={<MobilePage />} />
|
||||
<Route path='/mobile/login' element={<MobileLoginPage />} />
|
||||
<Route element={<ProtectedRoute />}>
|
||||
<Route path='/dashboard' element={<DashboardPage />} />
|
||||
<Route path='/time' element={<TimeTrackingPage />} />
|
||||
|
||||
Reference in New Issue
Block a user