Files
tanami-admin-panel/src/Pages/ForgetPassword.jsx
YasinShaikh123 d567acfec8 update subadmin
2024-12-05 20:26:39 +05:30

178 lines
5.0 KiB
JavaScript

import {
Button,
DrawerFooter,
FormControl,
FormErrorMessage,
FormLabel,
Input,
Modal,
ModalBody,
ModalCloseButton,
ModalContent,
ModalHeader,
ModalOverlay,
Stack,
useToast,
} from "@chakra-ui/react";
import * as yup from "yup";
import React, { useState, useEffect, useContext } from "react";
import { useForm, Controller } from "react-hook-form";
import { yupResolver } from "@hookform/resolvers/yup";
import { v4 as uuidv4 } from "uuid";
import { useParams } from "react-router-dom";
import CustomAlertDialog from "../Components/CustomAlertDialog";
import ToastBox from "../Components/ToastBox";
import GlobalStateContext from "../Contexts/GlobalStateContext";
import CurrencyInput from "../Components/CurrencyInput";
const ioNav = yup.object().shape({
transactionDate: yup.string().required("Date is required"),
transactionAmount: yup.string().required("New NAV is required"),
comments: yup
.string()
.notRequired()
.max(200, "Approve Comment cannot be more than 200 characters"),
});
const ForgetPassword = ({
isOpen,
onClose,
firstField,
actionId,
setActionId,
data,
}) => {
const params = useParams();
const id = params?.id;
const [file, setFile] = useState("");
const [fileName, setFileName] = useState("");
const [isLoading, setIsLoading] = useState(false);
const [alert, setAlert] = useState(false);
const toast = useToast();
const [showPassword, setShowPassword] = useState(false);
const [subject, setSubject] = useState("");
// ======================[ Cotext Api ]
const { IODetails } = useContext(GlobalStateContext);
const found = data?.find((item) => item?.id === actionId);
// const [addNavDetails] = useAddNavDetailsMutation()
// const {
// data
// } = useGetArtifactsQuery(id)
const {
control,
handleSubmit,
watch,
reset,
formState: { errors },
} = useForm({
resolver: yupResolver(ioNav),
});
// const onSubmit = async (data) => {
// setIsLoading(true);
// try {
// const res = await addNavDetails({ data, id });
// if (res?.data?.statusCode === 201) {
// setIsLoading(false);
// toast({
// render: () => <ToastBox message={res?.data?.message} />,
// });
// handleClose();
// } else if (res?.error?.status === 400) {
// toast({
// render: () => (
// <ToastBox message={res?.error?.data?.message} status={"error"} />
// ),
// });
// handleClose();
// }
// } catch (error) {
// console.log(error);
// }
// };
const handleSave = () => {
handleSubmit(onSubmit)();
};
const handleClose = () => {
setIsLoading(false);
setAlert(false);
onClose();
};
return (
<>
<Modal
// closeOnOverlayClick={false}
isOpen={isOpen}
onClose={onClose}
initialFocusRef={firstField}
>
<ModalOverlay />
<ModalContent>
<ModalHeader fontSize={"md"}>Forget Password</ModalHeader>
<ModalCloseButton />
<ModalBody pb={4}>
<Stack spacing={4}>
<FormControl isInvalid={errors.ChangePassword}>
<FormLabel fontSize={"sm"} mb={3} fontWeight={500}>Email, Phone, or UserName</FormLabel>
<Input
size={"md"}
onChange={(e) => setSubject(e.target.value)}
focusBorderColor="forestGreen.300"
rounded={4}
// type={showPassword ? "text" : "password"}
type="text"
/>
<FormErrorMessage fontSize={"xs"} fontWeight={500}>
{errors.ChangePassword?.message}
</FormErrorMessage>
</FormControl>
</Stack>
</ModalBody>
<DrawerFooter mb={5}>
{/* <Button
// variant="outline"
bg={"#e0ebeb"}
rounded={"sm"}
size={"sm"}
mr={3}
onClick={handleClose}
>
Cancel
</Button> */}
<Button
w={"100%"}
colorScheme={"forestGreen"}
rounded={"md"}
size={"md"}
onClick={() => setAlert(true)}
fontWeight={400}
>
Send Login Link
</Button>
</DrawerFooter>
</ModalContent>
</Modal>
<CustomAlertDialog
isOpen={alert}
onClose={() => setAlert(false)}
alertHandler={handleSave}
message={"Are you sure you want to change password?"}
isLoading={isLoading}
/>
</>
);
};
export default ForgetPassword;