"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { useForm } from "react-hook-form"; import z from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { Form, FormField, FormItem, FormMessage } from "@/components/ui/form"; import { FormControl, FormLabel } from "@mui/material"; import { authenticateLottery } from "@/api"; const lotteryAuthSchema = z.object({ phoneNumber: z.string().regex(/^993\d{8}$/, { message: "Dogry telefon belgisini girizin", }), key: z.string().regex(/^.+-\d{10}$/, { message: "Dogry acar sozuni girizin", }), }); const LotteryAuthForm = () => { const form = useForm>({ resolver: zodResolver(lotteryAuthSchema), }); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); async function onSubmit(values: z.infer) { const { phoneNumber, key } = values; setIsLoading(true); try { const response = await authenticateLottery(phoneNumber, key); if (response.errorMessage) { setError(response.errorMessage); } else { document.cookie = `phoneNumber=${phoneNumber};path=/;max-age=3600;`; document.cookie = `key=${key};path=/;max-age=3600;`; router.replace("/cekilis"); } } catch (err) { setError("Telefon belgisi ýa-da açar nädogry"); } finally { setIsLoading(false); } } return (

Giriş

( Telefon )} /> ( Açar )} /> {error && (

{error}

)}
); }; export default LotteryAuthForm;