import { Box, Button, Divider, FormControl, FormHelperText, FormLabel, Heading, Image, Input, Stack, Textarea, useToast, } from "@chakra-ui/react"; import React, { useState } from "react"; import { OPACITY_ON_LOAD } from "../../Layout/animations"; import Header from "../../Components/Header"; import { useNavigate } from "react-router-dom"; import fallbackImage from "../../assets/ultp-fallback-img.webp"; import { addPartnerCard, addPolicy, addTerms, addWhitePapers, } from "../../Validations/Validations"; import { TiWarning } from "react-icons/ti"; import { yupResolver } from "@hookform/resolvers/yup"; import { useForm } from "react-hook-form"; import { motion } from "framer-motion"; import Loader01 from "../../Components/Loaders/Loader01"; import { useCreatePartnersMutation, useCreatePolicyMutation, } from "../../Services/api.service"; import ToastBox from "../../Components/ToastBox"; import ReactQuill from "react-quill"; const AddPartner = () => { const toast = useToast(); const navigate = useNavigate(); const [isLoading, setIsLoading] = useState(false); const [selectedImage, setSelectedImage] = useState(fallbackImage); const [imageData, setImageData] = useState(null); const [value, setValue] = useState(""); const [createPartner] = useCreatePartnersMutation(); // const termContent = data?.data; const { register, handleSubmit, watch, reset, // setValue: setYupFormValue, formState: { errors }, } = useForm({ resolver: yupResolver(addPartnerCard), defaultValues: { website_link: "", description: "", banner_image: "", }, }); // console.log(errors); const handleImageChange = (e) => { const file = e.target.files[0]; setImageData(file); // setYupFormValue("banner_image", file); // console.log(file); if (file) { const reader = new FileReader(); reader.onloadend = () => { setSelectedImage(reader.result); }; reader.readAsDataURL(file); } }; const onSubmit = async (data) => { // setYupFormValue("description", value); try { setIsLoading(true); const formData = new FormData(); formData.append("website_link", data?.website_link); formData.append("description", data?.description); // console.log(selectedImage); if (data?.banner_image) { formData.append("banner_image", data?.banner_image[0]); } for (let [key, value] of formData.entries()) { // console.log(key, value); } // Trigger the mutation createPartner(formData) .then((response) => { // Handle the response here if (response?.data?.statusCode === 200) { setIsLoading(false); toast({ render: () => ( ), }); reset(); navigate("/partners"); } else if (response?.data?.statusCode === 500) { setIsLoading(false); toast({ render: () => ( ), }); } else { setIsLoading(false); toast({ render: () => ( ), }); } }) .catch((error) => { // Handle errors // console.error("Error creating community:", error); setIsLoading(false); // Handle error notification if needed }); } catch (error) { // Handle errors // console.error("Error creating community:", error); setIsLoading(false); } }; return (
Selected Image {selectedImage === fallbackImage || imageData === null ? ( "" ) : ( {imageData?.name} {(imageData?.size / (1024 * 1024)).toFixed(2)} mb )}
Description