From 77ae39e8347ff2418d66424950e8b226900c6b62 Mon Sep 17 00:00:00 2001 From: l3wdfut4pwr Date: Thu, 9 Apr 2026 15:48:36 +0300 Subject: add settings auth redirect --- src/components/header/authdialog/LoginForm.tsx | 7 ++++--- src/components/header/authdialog/RegisterForm.tsx | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/components/header/authdialog') diff --git a/src/components/header/authdialog/LoginForm.tsx b/src/components/header/authdialog/LoginForm.tsx index c6cdbcd..913ca66 100644 --- a/src/components/header/authdialog/LoginForm.tsx +++ b/src/components/header/authdialog/LoginForm.tsx @@ -4,13 +4,13 @@ import { Button } from '@/components/ui/button'; import GoogleIcon from '../../../../public/icons/google.svg'; import { InputField } from '@/components/ui/inputfield'; import { useAuthContext } from '@/lib/contexts/Auth.context'; - -export default function LoginForm() { +import { useRouter } from 'next/navigation'; +export default function LoginForm({ redirectTo }: { redirectTo?: string }) { const API_URL = process.env.NEXT_PUBLIC_API_URL; const [errors, setErrors] = useState({}); const [loading, setLoading] = useState(false); const { setUser } = useAuthContext(); - + const router = useRouter(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); @@ -55,6 +55,7 @@ export default function LoginForm() { if (!meRes.ok) throw new Error('Failed to fetch user'); const meData = await meRes.json(); setUser(meData); + if (redirectTo) router.push(redirectTo); } } catch (err) { setErrors({ general: 'Ошибка при авторизации' }); diff --git a/src/components/header/authdialog/RegisterForm.tsx b/src/components/header/authdialog/RegisterForm.tsx index 0370671..ef22433 100644 --- a/src/components/header/authdialog/RegisterForm.tsx +++ b/src/components/header/authdialog/RegisterForm.tsx @@ -6,10 +6,11 @@ import { InputField } from '@/components/ui/inputfield'; import { validate, registerUser } from './register'; import { useAuthContext } from '@/lib/contexts/Auth.context'; import Image from 'next/image'; - -export default function RegisterForm() { +import { useRouter } from 'next/navigation'; +export default function RegisterForm({ redirectTo }: { redirectTo?: string }) { const [errors, setErrors] = useState({}); const [loading, setLoading] = useState(false); + const router = useRouter(); const { setUser } = useAuthContext(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); @@ -42,6 +43,7 @@ export default function RegisterForm() { setErrors(error); } else if (data) { setUser(data); + if (redirectTo) router.push(redirectTo); } setLoading(false); }; -- cgit v1.3-3-g829e