Files
static-front/app/login/page.tsx
T

31 lines
1.2 KiB
TypeScript

'use client';
import {useEffect} from 'react';
import {useRouter} from 'next/navigation';
import {Button} from 'antd';
import {useAuth} from '@/app/context/AuthContext';
import {useLanguage} from '@/app/context/LanguageContext';
import {accountCopy} from '@/data/account';
export default function LoginPage() {
const auth = useAuth();
const router = useRouter();
const {locale} = useLanguage();
const copy = accountCopy[locale];
useEffect(() => {
if (auth.isAuthenticated) router.replace('/dashboard');
else if (auth.ready) auth.openLogin(() => router.replace('/dashboard'));
}, [auth.isAuthenticated, auth.ready, auth.openLogin, router]);
return (
<main className="max-w-2xl mx-auto min-h-[70vh] px-5 pt-32 pb-20 text-center">
<div className="rounded-3xl border border-subtle bg-elevated p-10">
<h1 className="text-3xl font-extrabold text-primary">{copy.login}</h1>
<p className="text-secondary mt-3 mb-7">{copy.protectedDescription}</p>
<Button type="primary" size="large" onClick={() => auth.openLogin(() => router.replace('/dashboard'))}>
{copy.openLogin}
</Button>
</div>
</main>
);
}