"use client"; import { Box, Flex, Heading, Input, Link as ChakraLink, Text, ClientOnly, } from "@chakra-ui/react"; import { Button } from "@/components/ui/buttons/button"; import { Switch } from "@/components/ui/forms/switch"; import { Field } from "@/components/ui/forms/field"; import { useTranslations } from "next-intl"; import signInImage from "/public/assets/img/sign-in-image.png"; import { InputGroup } from "@/components/ui/forms/input-group"; import { BiLock } from "react-icons/bi"; import { useForm } from "react-hook-form"; import { yupResolver } from "@hookform/resolvers/yup"; import * as yup from "yup"; import { Link, useRouter } from "@/i18n/navigation"; import { MdMail } from "react-icons/md"; import { PasswordInput } from "@/components/ui/forms/password-input"; import { Skeleton } from "@/components/ui/feedback/skeleton"; import { signIn } from "next-auth/react"; import { toaster } from "@/components/ui/feedback/toaster"; import { useState } from "react"; const schema = yup.object({ email: yup.string().email().required(), password: yup.string().required(), }); type SignInForm = yup.InferType; const defaultValues = { email: "test@test.com.ue", password: "test1234", }; function SignInPage() { const t = useTranslations(); const router = useRouter(); const [loading, setLoading] = useState(false); const { handleSubmit, register, formState: { errors }, } = useForm({ resolver: yupResolver(schema), mode: "onChange", defaultValues, }); const onSubmit = async (formData: SignInForm) => { try { setLoading(true); const res = await signIn("credentials", { redirect: false, email: formData.email, password: formData.password, }); if (res?.error) { throw new Error(res.error); } router.replace("/home"); } catch (error) { toaster.error({ title: (error as Error).message || "Giriş yaparken hata oluştu!", type: "error", }); } finally { setLoading(false); } }; return ( {t("auth.welcome-back")} {t("auth.subtitle")} }> }> {t("auth.remember-me")} }> {t("auth.dont-have-account")} {t("auth.sign-up")} ); } export default SignInPage;