diff --git a/app/login/components/login-form.tsx b/app/login/components/login-form.tsx index 65c5c30..213cc60 100644 --- a/app/login/components/login-form.tsx +++ b/app/login/components/login-form.tsx @@ -3,9 +3,11 @@ import { useState } from 'react' import { useRouter } from 'next/navigation' import Link from 'next/link' -import { Eye, EyeOff } from 'lucide-react' +import { Eye, EyeOff, Zap, Layout } from 'lucide-react' import { loginWithPassword, signUpWithPassword } from '@/lib/auth/client' +type InterfacePreference = 'swift' | 'klassiek' + export function LoginForm() { const router = useRouter() const [mode, setMode] = useState<'login' | 'signup'>('login') @@ -16,6 +18,12 @@ export function LoginForm() { const [showPassword, setShowPassword] = useState(false) const [showConfirmPassword, setShowConfirmPassword] = useState(false) const [message, setMessage] = useState<{ type: 'success' | 'error'; text: string } | null>(null) + const [interfacePreference, setInterfacePreference] = useState('klassiek') + + // Redirect path based on interface preference + const getRedirectPath = () => { + return interfacePreference === 'swift' ? '/epd/swift' : '/epd/clients' + } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() @@ -32,7 +40,7 @@ export function LoginForm() { if (result.session) { setMessage({ type: 'success', text: 'Account aangemaakt! Je wordt doorgestuurd...' }) setTimeout(() => { - router.push('/epd/patients') + router.push(getRedirectPath()) }, 1000) } else { setMessage({ @@ -44,14 +52,14 @@ export function LoginForm() { await loginWithPassword(email, password) setMessage({ type: 'success', text: 'Ingelogd! Je wordt doorgestuurd...' }) setTimeout(() => { - router.push('/epd/clients') + router.push(getRedirectPath()) }, 1000) } } catch (error: any) { if (error.code === 'user_already_registered' && error.data?.session) { setMessage({ type: 'success', text: 'Dit emailadres bestaat al. Je bent nu ingelogd!' }) setTimeout(() => { - router.push('/epd/patients') + router.push(getRedirectPath()) }, 1000) } else if (error.code === 'user_already_registered') { setMessage({ @@ -82,7 +90,7 @@ export function LoginForm() { setLoading(true) try { await loginWithPassword('demo@mini-ecd.demo', 'Demo2024!') - router.push('/epd/clients') + router.push(getRedirectPath()) } catch (error: any) { setMessage({ type: 'error', text: 'Demo login mislukt. Probeer handmatig in te loggen.' }) setLoading(false) @@ -122,6 +130,45 @@ export function LoginForm() { + {/* Interface Selector */} +
+ +
+ + +
+
+ {message && (