diff --git a/dev-dist/sw.js b/dev-dist/sw.js index 866f8a6..013b755 100644 --- a/dev-dist/sw.js +++ b/dev-dist/sw.js @@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict'; "revision": "3ca0b8505b4bec776b69afdba2768812" }, { "url": "index.html", - "revision": "0.p75md0vraj" + "revision": "0.73grfmd27h8" }], {}); workbox.cleanupOutdatedCaches(); workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), { diff --git a/index.html b/index.html index 58b50b9..cd3d9f3 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,8 @@ - + + SEO Admin diff --git a/src/Pages/ManageCMS/FAQ/FAQ.tsx b/src/Pages/ManageCMS/FAQ/FAQ.tsx index c1def1d..c146c8a 100644 --- a/src/Pages/ManageCMS/FAQ/FAQ.tsx +++ b/src/Pages/ManageCMS/FAQ/FAQ.tsx @@ -160,7 +160,7 @@ const FAQ = () => { handleDeleteFaq(selectedFaqId); } }} - /> + /> Add - + diff --git a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx index 5d0e1eb..ea303e5 100644 --- a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx +++ b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx @@ -1,4 +1,4 @@ -import { Badge, HStack, Text, VStack } from "@chakra-ui/react"; +import { Badge, HStack, Stack, Text, VStack } from "@chakra-ui/react"; import { useGetPrivacyPolicyQuery } from "../../../Redux/Service/privacy.policy.service"; import MainFrame from "../../../components/MainFrame"; import { Spinner } from "../../../components/Sipnner/Spinner"; @@ -6,54 +6,77 @@ import PrivacyPolicyAddModel from "./PrivacyPolicyAddModel"; import GlobalStateContext from "../../../Contexts/GlobalStateContext"; import { useContext, useEffect } from "react"; - const PrivacyPolicy = () => { const { data, isLoading, isFetching, refetch } = useGetPrivacyPolicyQuery(); - console.log('PRIVACY', data?.data); - + console.log("PRIVACY", data?.data); const context = useContext(GlobalStateContext); - if (!context) throw new Error('App must be used within a GlobalStateProvider'); + if (!context) + throw new Error("App must be used within a GlobalStateProvider"); const { setIsBarLoading } = context; useEffect(() => { - setIsBarLoading(isFetching) - }, [data]) + setIsBarLoading(isFetching); + }, [data]); -console.log('Privacy Policy Data:', data?.data); + console.log("Privacy Policy Data:", data?.data); return ( - - {isLoading || isFetching ? - : data?.data?.map(({ id, content, privacy_language }) => - + + Privacy Policy + + + + {isLoading || isFetching ? ( + + ) : ( + data?.data?.map(({ id, content, privacy_language }) => ( + - - Privacy Policy πŸŽ“ {privacy_language?.language_name} - + + + + πŸŽ“ {privacy_language?.language_name} + + - - - - - )} + + + + + )) + )} ); }; -export default PrivacyPolicy; \ No newline at end of file +export default PrivacyPolicy; diff --git a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx index cff201b..16b796a 100644 --- a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx +++ b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx @@ -1,59 +1,67 @@ import { Badge, HStack, Spinner, Stack, Text, VStack } from "@chakra-ui/react"; -import MainFrame from "../../../components/MainFrame" +import MainFrame from "../../../components/MainFrame"; import TermsAndConditionsAddModel from "./TermsAndConditionsAddModel"; import { useGetTermsQuery } from "../../../Redux/Service/terms.and.condition.service"; - const TermsAndConditions = () => { - const { data, refetch, isLoading, isFetching } = useGetTermsQuery() + const { data, refetch, isLoading, isFetching } = useGetTermsQuery(); + + console.log(data); return ( + + + + + Terms and Conditions + + - - - - Terms and Conditions - - - {isLoading || isFetching ? ( - - ) : ( - data?.data?.map(({ id, content, terms_cond_language }) => ( - - - - - - πŸŽ“ {terms_cond_language?.language_name} - - - - {/* Pass Data to AboutUsAddModel */} - - - - {/* {content} */} -
+ {isLoading || isFetching ? ( + + ) : ( + data?.data?.map(({ id, content, terms_cond_language }) => ( + + + + + πŸŽ“ {terms_cond_language?.language_name} + - - )) - )} - - - - ) -} -export default TermsAndConditions \ No newline at end of file + + {/* Pass Data to AboutUsAddModel */} + + + + {/* {content} */} +
+ + + )) + )} + + + ); +}; +export default TermsAndConditions; diff --git a/src/Pages/ManageContact/ManageContact.tsx b/src/Pages/ManageContact/ManageContact.tsx index 9861955..259e6c7 100644 --- a/src/Pages/ManageContact/ManageContact.tsx +++ b/src/Pages/ManageContact/ManageContact.tsx @@ -1,38 +1,77 @@ import { Box, HStack, Input, Text } from "@chakra-ui/react"; -import MainFrame from "../../components/MainFrame" -import PendingRequests from "../../Pages/ManageContact/PendingRequests" +import MainFrame from "../../components/MainFrame"; +import PendingRequests from "../../Pages/ManageContact/PendingRequests"; import { InputGroup } from "../../components/ui/input-group"; import { LuSearch } from "react-icons/lu"; import DataTable from "../../components/DataTable"; - +import { useGetContactQuery } from "../../Redux/Service/manage.contactus.service"; +import { useEffect, useState } from "react"; +import { Spinner } from "../../components/Sipnner/Spinner"; // table data +const tableHeadRow = ["Sr. No", "Email id", "Name", "Date", "Action"]; -const tableHeadRow = [ - "Sr. No", - "Email id", - "Name", - "Date", - "Action", -]; +const ManageContact = () => { + const { data, isLoading, isError } = useGetContactQuery(); + const [localData, setLocalData] = useState([]); -const managepost: any[] = [ - ...Array.from({ length: 12 }, (_, i) => ({ - "Sr. No": i + 1, - "Email id": "ABC@gmail.com", - "Name": "Pooja", - "Date": "11/02/1989", - "Action": ( + useEffect(() => { + if (data) { + setLocalData((data as any)?.data?.data || []); + } + }, [data]); + + const formatDateOfBirth = (dob: string): string => { + return new Date(dob).toLocaleDateString("en-GB", { + day: "2-digit", + month: "2-digit", + year: "numeric", + }); + }; + + const managepost = localData?.map((agency: any, index: number) => ({ + "Sr. No": index + 1, // Typically Sr. No starts from 1, not using id which might not be sequential + "Email id": agency?.email || "-", + Name: agency?.first_name || "-", + Date: formatDateOfBirth(agency?.created_at) || "-", + Action: ( ), - })), -]; + })); + + if (isLoading) { + return ( + + + + + + ); + } + + if (isError) { + return ( + + + Error loading data + + + ); + } -const ManageContact = () => { return ( - { px={3} > - Contact Requests + Contact Requests - - + + } color={"#000"} > @@ -63,20 +105,20 @@ const ManageContact = () => { size={"xs"} fontSize={"sm"} placeholder="Search..." - bgColor={'#EEEEEE'} + bgColor={"#EEEEEE"} ps={8} /> - {/* */} - + - ) -} -export default ManageContact \ No newline at end of file + ); +}; + +export default ManageContact; diff --git a/src/Pages/ManageGroups/ManageGroups.tsx b/src/Pages/ManageGroups/ManageGroups.tsx index 86f0570..fc57d8b 100644 --- a/src/Pages/ManageGroups/ManageGroups.tsx +++ b/src/Pages/ManageGroups/ManageGroups.tsx @@ -48,6 +48,9 @@ const managepost: any[] = [ ), })), ]; + + + const ManageGroups = () => { return ( diff --git a/src/Pages/ManageJobs/ManageJobs.tsx b/src/Pages/ManageJobs/ManageJobs.tsx index 744fd6e..ce55ef5 100644 --- a/src/Pages/ManageJobs/ManageJobs.tsx +++ b/src/Pages/ManageJobs/ManageJobs.tsx @@ -1,7 +1,10 @@ import { - Box, HStack, - // Image, - Input, Text + Box, + HStack, + Image, + // Image, + Input, + Text, } from "@chakra-ui/react"; import { LuSearch } from "react-icons/lu"; // import { RiDeleteBin5Line } from "react-icons/ri"; @@ -11,6 +14,15 @@ import MainFrame from "../../components/MainFrame"; import { InputGroup } from "../../components/ui/input-group"; import ManageJobsAdd from "./ManageJobsAdd"; import ViewManageJob from "./ViewManageJob"; +import { + useDeleteJobsPostMutation, + useGetManageJobsQuery, +} from "../../Redux/Service/manage.jobs.service"; +import { useEffect, useState } from "react"; +import { Spinner } from "../../components/Sipnner/Spinner"; +import Delete from "../../components/ActionIcons/Delete"; +import { toaster } from "../../components/ui/toaster"; +import AlertDailog from "../../components/AlertDailog"; // import { useState } from "react"; // import { useGetManageJobsQuery } from "../../Redux/Service/manage.jobs.service"; // import Delete from "../../components/ActionIcons/Delete"; @@ -27,36 +39,93 @@ const tableHeadRow = [ "Action", ]; -const managepost: any[] = [ - ...Array.from({ length: 12 }, (_, i) => ({ - "Sr. No": i + 1, - "Job Title": "Freelance content writer", - "Workspace mode": "Onsite", - Category: "IT", - "Sub-category": "Flutter dev", - Salary: "3.5 LPA", +const ManageJobs = () => { + const [currentPage] = useState(1); + const [localData, setLocalData] = useState([]); + const { data, refetch, isLoading } = useGetManageJobsQuery(currentPage); + const [deleteJobsPost] = useDeleteJobsPostMutation(); + const [deleteModal, setDeleteModal] = useState(false); + const [selectedJobsId, setSelectedJobsId] = useState(null); + + useEffect(() => { + if (data) { + setLocalData((data as any)?.data?.data || []); + } + }, [data]); + console.log(data?.data.data); + + const handleDeleteJobs = async (jobsId: number) => { + try { + const response = await deleteJobsPost({ id: jobsId }).unwrap(); + if (response?.status === "success") { + toaster.create({ + title: "Success", + description: "Jobs deleted successfully", + type: "Success", + }); + refetch(); + } + } catch (error) { + console.error("Error deleting FAQ:", error); + toaster.create({ + title: "Error", + description: "Something went wrong", + type: "error", + }); + } + }; + + const managepost = localData?.map((agency: any, index: number) => ({ + "Sr. No": index + 1, + "Job Title": agency?.job_title, + "Workspace mode": agency?.workspace?.en_name, + Category: agency?.industry?.en_name, + "Sub-category": agency?.department?.en_name, + Salary: agency?.ctc_amount, Action: ( - {/* } - alertText="Delete Users" + ( + { + setSelectedJobsId(agency.id); + setDeleteModal(true); + }} + /> + )} + alertText="Delete FAQ" alertIcon={} alertCaption="are you sure you want to delete ?" + onClose={() => setDeleteModal(false)} onConfirm={() => { - console.log("User deleted:", i + 1); + // console.log("Deleting FAQ with ID:", selectedFaqId); // Correct ID + if (selectedJobsId) { + setDeleteModal(false); + handleDeleteJobs(selectedJobsId); + } }} - /> */} + /> ), - })), -]; + })); -const ManageJobs = () => { - // const [currentPage, setCurrentPage] = useState(1); - // const { data, refetch } = useGetManageJobsQuery(currentPage) - // console.log(data?.data.data); + if (isLoading) { + return ( + + + + + + ); + } return ( diff --git a/src/Pages/ManageJobs/ViewManageJob.tsx b/src/Pages/ManageJobs/ViewManageJob.tsx index bb3edc4..ed9536e 100644 --- a/src/Pages/ManageJobs/ViewManageJob.tsx +++ b/src/Pages/ManageJobs/ViewManageJob.tsx @@ -27,6 +27,7 @@ import { SelectTrigger, } from "../../components/ui/select"; import View from "../../components/ActionIcons/View"; +import { useLazyViewJobsQuery } from "../../Redux/Service/manage.jobs.service"; const frameworks = createListCollection({ items: [ @@ -37,238 +38,258 @@ const frameworks = createListCollection({ ], }); function ViewManageJob() { + const [ data ] = useLazyViewJobsQuery(); + + console.log(data); + + // const handleView = () => { + // trigger(id); + // }; + + // const viewJobs = data; + + console.log(); + return ( - + + + - - - - Add Details - - + {/* {viewJobs?.map((data: any) => ( */} + + + + Add Details + + - - - - - Job title - - - - - - Workspace mode - - - - - - Category - - - - - - Sub-Category - - - - - - Salary - - - - - - Experience - - - - - - Job Location - - - - {/* Country Selection - */} - - - Country Selection - - - + + + + Job title + + - - - {frameworks.items.map((movie) => ( - - {movie.label} - - ))} - - + + + + Workspace mode + + + + + + Category + + + + + + Sub-Category + + + + + + Salary + + + + + + Experience + + + + + + Job Location + + + + {/* Country Selection + */} + + + Country Selection + + + + + + {frameworks.items.map((movie) => ( + + {movie.label} + + ))} + + - - - Job type - - - - - - Skills required - - - - - - Job Description* - - - - - - Upload Image - - - - - - - - + + + Job type + + + + + + Skills required + + + + + + Job Description* + + + + + + Upload Image + + + + + + + + - - + + + {/* ))} */} ); } diff --git a/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx b/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx index 93c5727..87409d7 100644 --- a/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx +++ b/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx @@ -1,37 +1,121 @@ -import { Box, HStack, Input, Text } from "@chakra-ui/react"; +import { Box, HStack, Text } from "@chakra-ui/react"; import MainFrame from "../../../components/MainFrame"; import DataTable from "../../../components/DataTable"; import { Switch } from "../../../components/ui/switch"; -import { InputGroup } from "../../../components/ui/input-group"; -import { LuSearch } from "react-icons/lu"; +// import { InputGroup } from "../../../components/ui/input-group"; +// import { LuSearch } from "react-icons/lu"; +// import { useGetContactQuery } from "../../../Redux/Service/deactivated.account.service"; +import { useEffect, useState } from "react"; +import { Spinner } from "../../../components/Sipnner/Spinner"; +import { useGetDeactivateUserQuery, useUserDeactivateToggleMutation } from "../../../Redux/Service/manage.user"; +import SearchComponent from "../../../components/SearchComponent"; const tableHeadRow = [ "Sr. No", "First Name", "Last Name", - "Company name", + "User Type", "Activate/Deactivate", ]; -const manageUser: any[] = [ - ...Array.from({ length: 12 }, (_, i) => ({ - "Sr. No": i + 1, - "First Name": "Ritesh", - "Last Name": "akanksha@gmail.com", - "Company name": "9876543210", +const DeactivatedAccounts = () => { + const [currentPage, setCurrentPage] = useState(1); + const { data, isLoading, refetch } = useGetDeactivateUserQuery(currentPage); + const [localData, setLocalData] = useState([]); + const [searchTerm, setSearchTerm] = useState(""); + const [userDeactivateToggle] = useUserDeactivateToggleMutation() + + useEffect(() => { + if (data) { + setLocalData((data as any)?.data?.data || []); + } + }, [data]); + + const handlePageChange = (page: number) => { + setCurrentPage(page); + } + + const filteredData = localData?.filter((agency) => { + const searchLower = searchTerm.toLowerCase(); + const firstName = agency.first_name?.toLowerCase().includes(searchLower); + const lastName = agency.last_name?.toLowerCase().includes(searchLower); + // const email = agency.capital?.toLowerCase().includes(searchLower); + return firstName || lastName; + }); + + const handleToggle = async (agencyId: number, currentStatus: string) => { + const newStatus = currentStatus === '1' ? '0' : '1'; + + setLocalData((prevData) => + prevData.map((agency) => + agency.id === agencyId ? { ...agency, is_active: newStatus } : agency + ) + ); + + try { + await userDeactivateToggle({ id: agencyId, is_active: newStatus }).unwrap(); + refetch() + } catch (error) { + console.error("Error updating privacy policy:", error); + setLocalData((prevData) => + prevData.map((agency) => + agency.id === agencyId ? { ...agency, is_active: currentStatus } : agency + ) + ); + } + } + + const manageUser = filteredData?.map((agency: any, index: number) => ({ + "Sr. No": index + 1, + "First Name": agency?.first_name, + "Last Name": agency?.last_name, + "User Type": agency?.principal_type_xid === 3 ? "JobSeeker" : "Recruiter", "Activate/Deactivate": ( - - + + handleToggle(agency.id, agency.is_active ? "1" : "0")} + /> ), - })), -]; + })); + + if (isLoading) { + return ( + + + + + + ); + } + + // if (isError) { + // return ( + // + // + // Error loading data + // + // + // ); + // } -const DeactivatedAccounts = () => { return ( - { px={3} > - Deactivated User Accounts + Deactivated User Accounts - - } - color={"#000"} - > - - + { + setSearchTerm(value); + // setCurrentPage(1); + refetch() + }} + /> diff --git a/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx index 39364a2..770bc35 100644 --- a/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx @@ -1,7 +1,6 @@ // import { MdOutlineRemoveRedEye } from "react-icons/md"; -import { Field, Input, Span, Stack } from "@chakra-ui/react"; +import { Field, Input, Stack } from "@chakra-ui/react"; import { - DialogActionTrigger, DialogBody, DialogCloseTrigger, DialogContent, @@ -15,95 +14,197 @@ import { import { Button } from "../../../components/ui/button"; // import { TbEdit } from "react-icons/tb"; import Edit from "../../../components/ActionIcons/Edit"; +import { UserData, useUpdateUserMutation } from "../../../Redux/Service/manage.user"; +import { useState } from "react"; +import { Toaster, toaster } from "../../../components/ui/toaster"; + +function EditRegisterUsers({ data, refetch }: { data: UserData, refetch: () => void }) { + const [isOpen, setIsOpen] = useState(false); + const [formData, setFormData] = useState({ + id: data?.id, + first_name: data?.first_name || '', + last_name: data?.last_name || '', + principal_type_xid: data?.principal_type_xid, + phone_number: data?.phone_number || '', + gender: data?.gender || '', + date_of_birth: data?.date_of_birth || '', + principal_type: data?.principal_type, + is_active: data?.is_active ?? true, + principle_language_links: data?.principle_language_links ?? [], + }); + const [updateUser] = useUpdateUserMutation(); + + const handleOpenModal = () => { + setIsOpen(true); + }; + + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + if (formData.first_name === '' || formData.last_name === '' || formData.phone_number === '' || formData.gender === '' || formData.date_of_birth === '') { + toaster.create({ + title: "Error", + description: "Input fields cannot be empty", + type: "error", + }); + return; + } + + const languageData = formData?.principle_language_links.map(link => link.language_xid); + + const payload = { + id: formData?.id, + principal_type_xid: formData?.principal_type_xid, + principal_source_xid: formData?.id, + first_name: formData?.first_name, + last_name: formData?.last_name, + gender: formData?.gender, + date_of_birth: formData?.date_of_birth, + language_xid: languageData, + }; + + // console.log('payload', payload) + + try { + const response = await updateUser(payload).unwrap(); + if (response?.status === "success") { + toaster.create({ + title: "Success", + description: "Country updated successfully", + type: "success", + }); + setIsOpen(false); + refetch() + } else { + toaster.create({ + title: "Error", + description: "Failed to update Country", + type: "error", + }); + } + } catch (error) { + console.error("Error updating template:", error); + // alert("Failed to update template"); + toaster.create({ + title: "Error", + description: "Something went wrong", + type: "error", + }); + } + }; -function EditRegisterUsers() { return ( - - - + <> + setIsOpen(open)}> + + {/* - - + */} + + - - - - Edit user Accounts - - + + + + Edit user Accounts + + - - - - - First Name - - + + + + + First Name + + setFormData({ ...formData, first_name: e.target.value })} + /> - - Last Name - - + + Last Name + + setFormData({ ...formData, last_name: e.target.value })} + /> - - Gender - - + + Gender + + setFormData({ ...formData, gender: e.target.value })} + /> - - DOB - - + + DOB + + setFormData({ ...formData, date_of_birth: e.target.value })} + /> - - OTP Verified - - + + Mobile Number + + setFormData({ ...formData, phone_number: e.target.value })} + /> - + + Type Of User + + setFormData({ ...formData, principal_type: { ...formData.principal_type, principal_type_title: e.target.value } })} + /> + + {/* Language - - - - - - - - - - - + + + + + + ); } diff --git a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx index 484953f..b0234bb 100644 --- a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx @@ -119,10 +119,12 @@ const RegisterUsers = () => { "Action": ( - + @@ -18,13 +19,13 @@ function ViewRegisterUsers() { @@ -39,14 +40,24 @@ function ViewRegisterUsers() { First Name Last Name @@ -54,6 +65,7 @@ function ViewRegisterUsers() { @@ -61,21 +73,41 @@ function ViewRegisterUsers() { - OTP Verified + Mobile Number + Type Of User + + + + {/* Language + /> */} diff --git a/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx b/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx index b2e8025..defaf14 100644 --- a/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx +++ b/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx @@ -78,35 +78,47 @@ const AgencyMaster = () => { }; const filteredData = localData?.filter((agency) => - agency?.name.toLowerCase().includes(searchTerm.toLowerCase()) + agency?.name.toLowerCase().includes(searchTerm.toLowerCase()) || + agency?.rc_number.toLowerCase().includes(searchTerm.toLowerCase()) || + agency?.state.toLowerCase().includes(searchTerm.toLowerCase()) || + agency?.registered_office.toLowerCase().includes(searchTerm.toLowerCase()) || + agency?.domain_name.toLowerCase().includes(searchTerm.toLowerCase()) || + agency?.gst_number.toLowerCase().includes(searchTerm.toLowerCase()) ); - const managepost = filteredData?.map((agency: any, index: number) => ({ - 'id': agency.id, - "Sr. No": (currentPage - 1) * (data?.data.per_page ?? 0) + index + 1, - "Agency Name": agency.name, - "RC no.": agency.rc_number, - "State": agency.state, - "RC Status": agency.rc_status, - "Registered Office Address": agency.registered_office, - "Website/Domain": agency.domain_name, - "GST no.": agency.gst_number, - "is_active": agency.is_active, - "Action": ( - - - {/* */} - - handleToggle(agency.id.toString(), Number(agency.is_active))} - checked={Boolean(Number(agency.is_active))} - /> - - - ), - })); + const activeCount = filteredData?.filter((a: any) => a.is_active === 1).length ?? 0; + + const managepost = filteredData?.map((agency: any, index: number) => { + const isOnlyActive = activeCount === 1 && agency.is_active === 1; + + return { + id: agency.id, + "Sr. No": (currentPage - 1) * (data?.data.per_page ?? 0) + index + 1, + "Agency Name": agency.name, + "RC no.": agency.rc_number, + "State": agency.state, + "RC Status": agency.rc_status, + "Registered Office Address": agency.registered_office, + "Website/Domain": agency.domain_name, + "GST no.": agency.gst_number, + "is_active": agency.is_active, + Action: ( + + + + handleToggle(agency.id.toString(), Number(agency.is_active))} + checked={Boolean(Number(agency.is_active))} + disabled={isOnlyActive} + /> + + + ), + }; + }); + useEffect(() => { if (data?.data?.data) { @@ -175,7 +187,7 @@ const AgencyMaster = () => { }} onPageChange={handlePageChange} /> - + ) } diff --git a/src/Pages/MasterModule/AgencyMaster/ViewAgencyAddModel.tsx b/src/Pages/MasterModule/AgencyMaster/ViewAgencyAddModel.tsx index ccb782f..5658426 100644 --- a/src/Pages/MasterModule/AgencyMaster/ViewAgencyAddModel.tsx +++ b/src/Pages/MasterModule/AgencyMaster/ViewAgencyAddModel.tsx @@ -28,7 +28,7 @@ function ViewAgencyAddModel({ refetch }: { refetch: VoidFunction }) { ...prev, [name]: value, })); - } + } const handleSubmit = async () => { console.log("New Data:", formData); diff --git a/src/Pages/MasterModule/Country/CountryAddModel.tsx b/src/Pages/MasterModule/Country/CountryAddModel.tsx index b2a7834..3f0dc77 100644 --- a/src/Pages/MasterModule/Country/CountryAddModel.tsx +++ b/src/Pages/MasterModule/Country/CountryAddModel.tsx @@ -2,7 +2,7 @@ import { DialogBody, DialogCloseTrigger, DialogContent, DialogFooter, DialogHead import { Field, Input, Stack, Text } from "@chakra-ui/react" import { IoMdAdd } from "react-icons/io" import { Button } from "../../../components/ui/button" -import { useState } from "react"; +import { useEffect, useState } from "react"; import { PostCountry, useCreateCountryPostMutation } from "../../../Redux/Service/country.master"; import { Toaster, toaster } from "../../../components/ui/toaster"; @@ -19,12 +19,26 @@ function CountryAddModel() { currency_symbol: '', }); + useEffect(() => { + if (!isOpen) { + setCountryName({ + en_name: '', + country_code: '', + phonecode: '', + capital: '', + currency: '', + currency_name: '', + currency_symbol: '', + }); + } + }, [isOpen]); + const handleOpenModal = () => { setIsOpen(true); // Open modal when clicking "Add" }; const handleSubmit = async () => { - if (countryName.en_name === "") { + if (countryName.en_name === "" || countryName.country_code === "" || countryName.phonecode === "" || countryName.capital === "" || countryName.currency === "" || countryName.currency_name === "" || countryName.currency_symbol === "") { toaster.create({ title: "Error", description: "Input fields cannot be empty", @@ -98,7 +112,7 @@ function CountryAddModel() { Country Country Code Phone Code Capital Currency Currency name Currency Symbol ([]); // Store object URLs separately // const [updateTemplateMaster] = useUpdateTemplateMasterMutation() const [isOpen, setIsOpen] = useState(false); - const [selectedTemplate, setSelectedTemplate] = useState