"use client"; import LtrTextField from "@/core/components/LtrTextField"; import StyledForm from "@/core/components/StyledForm"; import { GET_USER_LOGIN_ROUTE } from "@/core/utils/routes"; import { useAuth } from "@/lib/contexts/auth"; import useRequest from "@/lib/hooks/useRequest"; import { yupResolver } from "@hookform/resolvers/yup"; import { Lock, Person, PhoneCallback, Visibility, VisibilityOff } from "@mui/icons-material"; import { Button, Container, IconButton, InputAdornment, Stack, Typography } from "@mui/material"; import { useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { object, string } from "yup"; const LoginForm = () => { const [showPassword, setShowPassword] = useState(false); const requestServer = useRequest(); const { setToken } = useAuth(); const defaultValues = { username: "", password: "", }; const validationSchema = object({ username: string().required("لطفا نام کاربری را وارد کنید!"), password: string().required("لطفا رمز عبور را وارد کنید!"), }); const { control, handleSubmit, formState: { isSubmitting }, } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "all", }); const handleClickShowPassword = () => setShowPassword((show) => !show); const onSubmit = async (data) => { try { const formData = new FormData(); formData.append("username", data.username); formData.append("password", data.password); const response = await requestServer(GET_USER_LOGIN_ROUTE, "post", { data: formData, }); setToken(response.data.data.token); } catch (error) { } }; return ( ورود به سامانه CRM { return ( ), }, }} fullWidth error={!!error} helperText={!!error && error.message} /> ); }} name={"username"} /> { return ( {showPassword ? : } ), endAdornment: ( ), }, }} fullWidth error={!!error} helperText={!!error && error.message} /> ); }} name={"password"} /> ); }; export default LoginForm;