From 4a1dec7ae74679184854b996c071fa297dc72a38 Mon Sep 17 00:00:00 2001 From: patrick Date: Sun, 24 May 2026 23:22:11 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20mobile/tablet=20Ger=C3=A4teerkennung=20i?= =?UTF-8?q?n=20LoginPage=20=E2=86=92=20Redirect=20zu=20/mobile/login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - useEffect prüft Bildschirmbreite (<1024px) + User-Agent (Mobi/Android/iPad/iPhone) - Tablet/Handy wird automatisch zu /mobile/login weitergeleitet - Desktop bleibt auf /login Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/pages/LoginPage.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx index 0398b59..45452f9 100644 --- a/frontend/src/pages/LoginPage.tsx +++ b/frontend/src/pages/LoginPage.tsx @@ -1,10 +1,17 @@ -import { useState } from 'react' -import { Link, useLocation } from 'react-router-dom' +import { useState, useEffect } from 'react' +import { Link, useLocation, useNavigate } from 'react-router-dom' import { useAuth } from '../context/AuthContext' export function LoginPage() { const { login } = useAuth() const location = useLocation() + const navigate = useNavigate() + + // Auf Mobilgeräten / Tablets → mobile Login-Seite + useEffect(() => { + const isMobile = window.innerWidth < 1024 || /Mobi|Android|Tablet|iPad|iPhone/i.test(navigator.userAgent) + if (isMobile) navigate('/mobile/login', { replace: true }) + }, []) const [email, setEmail] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState('')