diff --git a/src/Pages/Dashboard/Dashboard.tsx b/src/Pages/Dashboard/Dashboard.tsx index 04bcc07..d6da646 100644 --- a/src/Pages/Dashboard/Dashboard.tsx +++ b/src/Pages/Dashboard/Dashboard.tsx @@ -168,7 +168,7 @@ const Dashboard = () => { - + Faqs diff --git a/src/Pages/ManageCMS/FAQ/FAQ.tsx b/src/Pages/ManageCMS/FAQ/FAQ.tsx index fbee7b2..3741f4e 100644 --- a/src/Pages/ManageCMS/FAQ/FAQ.tsx +++ b/src/Pages/ManageCMS/FAQ/FAQ.tsx @@ -54,7 +54,7 @@ const tableHeadRow = [ const FAQ = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch, isLoading, isFetching } = useGetFaqQuery(currentPage) + const { data, refetch, isLoading, isFetching, isError } = useGetFaqQuery(currentPage) const [localData, setLocalData] = useState([]); const [faqToggle] = useFaqToggleMutation() const [deleteFaqPost] = useDeleteFaqPostMutation() @@ -237,6 +237,8 @@ const FAQ = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} />)} diff --git a/src/Pages/ManageCMS/FAQ/FaqAddModel.tsx b/src/Pages/ManageCMS/FAQ/FaqAddModel.tsx index 6da5bfe..1b82a8c 100644 --- a/src/Pages/ManageCMS/FAQ/FaqAddModel.tsx +++ b/src/Pages/ManageCMS/FAQ/FaqAddModel.tsx @@ -20,7 +20,7 @@ function FaqAddModel({ refetch }: { refetch: VoidFunction }) { const [faqAnswer, setFaqAnswer] = useState(''); const [userType, setUserType] = useState(""); const [isOpen, setIsOpen] = useState(false); - const [createFaqPost] = useCreateFaqPostMutation() + const [createFaqPost, { isLoading }] = useCreateFaqPostMutation() const handleOpenModal = () => { setIsOpen(true); // Open modal when clicking "Add" @@ -159,7 +159,7 @@ function FaqAddModel({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicyAddModel.tsx b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicyAddModel.tsx index dd80e10..79ff6b7 100644 --- a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicyAddModel.tsx +++ b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicyAddModel.tsx @@ -16,7 +16,7 @@ import ReactQuill from "react-quill"; function PrivacyPolicyAddModel({ policyData, refetch }: { policyData: any, refetch: VoidFunction }) { const [isOpen, setIsOpen] = useState(false); - const [updatePrivacyPolicy] = useUpdatePrivacyPolicyMutation() + const [updatePrivacyPolicy, { isLoading }] = useUpdatePrivacyPolicyMutation() const { control, handleSubmit, @@ -139,7 +139,7 @@ function PrivacyPolicyAddModel({ policyData, refetch }: { policyData: any, refet - diff --git a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx index f9a8cb4..3ebd129 100644 --- a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx +++ b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx @@ -18,7 +18,7 @@ import { useUpdateTermsMutation } from "../../../Redux/Service/terms.and.conditi function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, refetch: VoidFunction }) { const [isOpen, setIsOpen] = useState(false); - const [updateTerms] = useUpdateTermsMutation() + const [updateTerms, { isLoading }] = useUpdateTermsMutation() const { control, handleSubmit, @@ -136,7 +136,7 @@ function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, re - diff --git a/src/Pages/ManageContact/PendingRequests.tsx b/src/Pages/ManageContact/PendingRequests.tsx index d65c055..4e2aec7 100644 --- a/src/Pages/ManageContact/PendingRequests.tsx +++ b/src/Pages/ManageContact/PendingRequests.tsx @@ -21,7 +21,7 @@ function PendingRequests({ data, refetch }: { data: any, refetch: VoidFunction } message: data.message, solution: '', }) - const [pendingRequest] = usePendingRequestMutation() + const [pendingRequest, { isLoading }] = usePendingRequestMutation() const handleOpenModal = () => { setIsOpen(true); @@ -56,10 +56,10 @@ function PendingRequests({ data, refetch }: { data: any, refetch: VoidFunction } type: "error", }); } - } catch (error) { + } catch (error: any) { toaster.create({ title: "Error", - description: "Something went wrong", + description: error?.data?.message || "Something went wrong", type: "error", }); } @@ -139,6 +139,7 @@ function PendingRequests({ data, refetch }: { data: any, refetch: VoidFunction } border="1px solid #02A0A0" size={"xs"} onClick={() => handleSubmit('1')} + disabled={isLoading} > Unresolved @@ -151,6 +152,7 @@ function PendingRequests({ data, refetch }: { data: any, refetch: VoidFunction } // colorPalette="#007F33" size={"xs"} onClick={() => handleSubmit('0')} + disabled={isLoading} > Resolved diff --git a/src/Pages/ManageJobs/ManageJobs.tsx b/src/Pages/ManageJobs/ManageJobs.tsx index f1a7eb8..7790855 100644 --- a/src/Pages/ManageJobs/ManageJobs.tsx +++ b/src/Pages/ManageJobs/ManageJobs.tsx @@ -56,7 +56,7 @@ const ManageJobs = () => { setLocalData((data as any)?.data?.data || []); } }, [data]); - console.log(data?.data.data); + // console.log(data?.data.data); const handleSearchChange = (value: string) => { setSearchTerm(value); diff --git a/src/Pages/ManageJobs/ManageJobsAdd.tsx b/src/Pages/ManageJobs/ManageJobsAdd.tsx index e2099c6..d58be67 100644 --- a/src/Pages/ManageJobs/ManageJobsAdd.tsx +++ b/src/Pages/ManageJobs/ManageJobsAdd.tsx @@ -57,7 +57,7 @@ function ManageJobsAdd({ data, refetch }: { data: JobStatusData, refetch: () => const { data: departmentData } = useGetDepartmentQuery({}); const { data: countryData } = useGetCountryQuery({}); const { data: jobTypeData } = useGetManageJobTypeQuery({}); - const [updateJobs] = useUpdateJobsMutation(); + const [updateJobs, { isLoading}] = useUpdateJobsMutation(); // console.log('Modes:', jobTypeData?.data.data); const initialState = { @@ -489,6 +489,7 @@ function ManageJobsAdd({ data, refetch }: { data: JobStatusData, refetch: () => fontSize="12px" height="30px" onClick={handleSubmit} + disabled={isLoading} > Save diff --git a/src/Pages/ManagePost/ManagePost.tsx b/src/Pages/ManagePost/ManagePost.tsx index 0172443..db9f17c 100644 --- a/src/Pages/ManagePost/ManagePost.tsx +++ b/src/Pages/ManagePost/ManagePost.tsx @@ -72,7 +72,7 @@ const tableHeadRow = [ const ManagePost = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch } = useGetManagePostsQuery(currentPage) + const { data, refetch, isFetching, isError } = useGetManagePostsQuery(currentPage) const [localData, setLocalData] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [postStatusToggle] = usePostStatusToggleMutation() @@ -242,6 +242,8 @@ const ManagePost = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> diff --git a/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx b/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx index 87409d7..37ab4f4 100644 --- a/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx +++ b/src/Pages/ManageUsers/DeactivatedAccounts/DeactivatedAccounts.tsx @@ -9,6 +9,8 @@ import { useEffect, useState } from "react"; import { Spinner } from "../../../components/Sipnner/Spinner"; import { useGetDeactivateUserQuery, useUserDeactivateToggleMutation } from "../../../Redux/Service/manage.user"; import SearchComponent from "../../../components/SearchComponent"; +import { Toaster, toaster } from "../../../components/ui/toaster"; +import { delay } from "../../../components/Utils"; const tableHeadRow = [ "Sr. No", @@ -20,7 +22,7 @@ const tableHeadRow = [ const DeactivatedAccounts = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, isLoading, refetch } = useGetDeactivateUserQuery(currentPage); + const { data, isLoading, refetch, isError, isFetching } = useGetDeactivateUserQuery(currentPage); const [localData, setLocalData] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [userDeactivateToggle] = useUserDeactivateToggleMutation() @@ -54,6 +56,12 @@ const DeactivatedAccounts = () => { try { await userDeactivateToggle({ id: agencyId, is_active: newStatus }).unwrap(); + toaster.create({ + title: "Success", + description: "Status updated successfully", + type: "success", + }); + await delay(500); refetch() } catch (error) { console.error("Error updating privacy policy:", error); @@ -148,8 +156,11 @@ const DeactivatedAccounts = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> + ); }; diff --git a/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx index 0d5bd36..85ff8e7 100644 --- a/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx @@ -1,5 +1,5 @@ // import { MdOutlineRemoveRedEye } from "react-icons/md"; -import { Field, Input, Stack } from "@chakra-ui/react"; +import { Box, Field, HStack, Input, Stack } from "@chakra-ui/react"; import { DialogBody, DialogCloseTrigger, @@ -18,21 +18,66 @@ import { UserData, useUpdateUserMutation } from "../../../Redux/Service/manage.u import { useState } from "react"; import { Toaster, toaster } from "../../../components/ui/toaster"; +interface UserPayload { + id: number; + principal_type_xid: number; + principal_source_xid: number; + first_name: string; + last_name: string; + gender: string; + date_of_birth: string | null; + language_xid: number[]; // ✅ Always an array +} + +export interface UserFormData { + id: number; + principal_type_xid: number; + first_name: string; + last_name: string; + phone_number: string; + gender: string; + date_of_birth: string; + is_active: boolean; + principal_type: { + id: number; + principal_type_title: string; + }; + principle_language_linkss: { + id?: number; + iam_principal_xid?: number; + language_xid: number[]; // ✅ Now it's an array + }; +} + 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_linkss: data?.principle_language_linkss ?? [], + const transformToFormData = (data: UserData): UserFormData => ({ + ...data, + principle_language_linkss: { + ...data.principle_language_linkss, + language_xid: [data.principle_language_linkss.language_xid], // wrap in array + }, }); - const [updateUser] = useUpdateUserMutation(); + const [formData, setFormData] = useState(transformToFormData(data)); + // 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_linkss: { + // ...data?.principle_language_linkss, + // language_xid: Array.isArray(data?.principle_language_linkss?.language_xid) + // ? data.principle_language_linkss.language_xid + // : [data?.principle_language_linkss?.language_xid].filter(Boolean), + // }, + // // principle_language_linkss: data?.principle_language_linkss ?? [], + // }); + const [updateUser, { isLoading }] = useUpdateUserMutation(); const handleOpenModal = () => { setIsOpen(true); @@ -49,9 +94,9 @@ function EditRegisterUsers({ data, refetch }: { data: UserData, refetch: () => v return; } - const languageData = formData?.principle_language_linkss?.language_xid; + // const languageData = formData?.principle_language_linkss?.language_xid; - const payload = { + const payload: UserPayload = { id: formData?.id, principal_type_xid: formData?.principal_type_xid, principal_source_xid: formData?.id, @@ -59,7 +104,11 @@ function EditRegisterUsers({ data, refetch }: { data: UserData, refetch: () => v last_name: formData?.last_name, gender: formData?.gender, date_of_birth: formData?.date_of_birth, - language_xid: languageData, + // language_xid: languageData, + language_xid: Array.isArray(formData.principle_language_linkss?.language_xid) + ? formData.principle_language_linkss.language_xid + : [formData.principle_language_linkss?.language_xid].filter(Boolean), + }; // console.log('payload', payload) @@ -193,7 +242,7 @@ function EditRegisterUsers({ data, refetch }: { data: UserData, refetch: () => v Type Of User - v height="30px" value={formData.principal_type?.principal_type_title || 'N/A'} onChange={(e) => setFormData({ ...formData, principal_type: { ...formData.principal_type, principal_type_title: e.target.value } })} - /> + /> */} - {/* - Language - - */} + + + + + + Language + + {/* setFormData({ + ...formData, principle_language_linkss: { + ...formData?.principle_language_linkss, language_xid: e.target.value + .split(",") + .map(lang => lang.trim()) + .filter(Boolean) + } + })} + /> */} + + + {[ + { id: 1, label: "English" }, + { id: 2, label: "Hindi" }, + { id: 4, label: "Other" }, + ].map((lang) => ( + + ))} + - - + ); diff --git a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx index d954cb7..34867ae 100644 --- a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx @@ -69,7 +69,7 @@ const tableHeadRow = [ const RegisterUsers = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch } = useGetManageUserQuery(currentPage) + const { data, refetch, isFetching, isError } = useGetManageUserQuery(currentPage) const [localData, setLocalData] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [userToggle] = useUserToggleMutation() @@ -165,8 +165,6 @@ const RegisterUsers = () => { "Action": ( @@ -238,6 +236,8 @@ const RegisterUsers = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> diff --git a/src/Pages/ManageUsers/RegisterUsers/ViewRegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/ViewRegisterUsers.tsx index 4f900af..f881a8c 100644 --- a/src/Pages/ManageUsers/RegisterUsers/ViewRegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/ViewRegisterUsers.tsx @@ -102,12 +102,13 @@ function ViewRegisterUsers({ data }: { data: UserData }) { value={data?.principal_type?.principal_type_title || 'N/A'} /> - {/* + Language */} + value={data?.principle_language_linkss?.language?.language_name || 'N/A'} + /> diff --git a/src/Pages/MasterModule/AgencyMaster/EditAgencyMaster.tsx b/src/Pages/MasterModule/AgencyMaster/EditAgencyMaster.tsx index 4365303..35c839b 100644 --- a/src/Pages/MasterModule/AgencyMaster/EditAgencyMaster.tsx +++ b/src/Pages/MasterModule/AgencyMaster/EditAgencyMaster.tsx @@ -52,7 +52,7 @@ function EditAgencyMaster({ editData, refetch }: { edi const [formData, setFormData] = useState(editData); const [isOpen, setIsOpen] = useState(false); - const [updateAgencyMaster] = useUpdateAgencyMasterMutation() + const [updateAgencyMaster, { isLoading }] = useUpdateAgencyMasterMutation() console.log("Edit Data", editData); @@ -267,6 +267,7 @@ function EditAgencyMaster({ editData, refetch }: { edi fontSize="12px" height="30px" onClick={handleSubmit} + disabled={isLoading} > Save diff --git a/src/Pages/MasterModule/Country/CountryAddModel.tsx b/src/Pages/MasterModule/Country/CountryAddModel.tsx index 030c669..93373c9 100644 --- a/src/Pages/MasterModule/Country/CountryAddModel.tsx +++ b/src/Pages/MasterModule/Country/CountryAddModel.tsx @@ -7,7 +7,7 @@ import { PostCountry, useCreateCountryPostMutation } from "../../../Redux/Servic import { Toaster, toaster } from "../../../components/ui/toaster"; function CountryAddModel({refetch}: { refetch: VoidFunction }) { - const [createCountryPost] = useCreateCountryPostMutation() + const [createCountryPost, { isLoading }] = useCreateCountryPostMutation() const [isOpen, setIsOpen] = useState(false); const [countryName, setCountryName] = useState({ en_name: '', @@ -202,7 +202,7 @@ function CountryAddModel({refetch}: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/Country/EditCountryModel.tsx b/src/Pages/MasterModule/Country/EditCountryModel.tsx index 2b4f47e..cbf1e80 100644 --- a/src/Pages/MasterModule/Country/EditCountryModel.tsx +++ b/src/Pages/MasterModule/Country/EditCountryModel.tsx @@ -36,7 +36,7 @@ export interface EditCountryModelProps { function EditCountryModel({ rowData, refetch }: { rowData: EditCountryModelProps, refetch: VoidFunction }) { - const [updateCountry] = useUpdateCountryMutation() + const [updateCountry, { isLoading }] = useUpdateCountryMutation() const [editData, setEditData] = useState(rowData) const [isOpen, setIsOpen] = useState(false); @@ -145,7 +145,7 @@ function EditCountryModel({ rowData, refetch }: { rowData: EditCountryModelProps - diff --git a/src/Pages/MasterModule/DepartmentMaster/AddDepartmentMaster.tsx b/src/Pages/MasterModule/DepartmentMaster/AddDepartmentMaster.tsx index 741a261..e3b7f06 100644 --- a/src/Pages/MasterModule/DepartmentMaster/AddDepartmentMaster.tsx +++ b/src/Pages/MasterModule/DepartmentMaster/AddDepartmentMaster.tsx @@ -9,7 +9,7 @@ import { useCreateDepartmentPostMutation, useGetDepartmentMasterDropDownQuery } function AddDepartmentMaster({ refetch }: { refetch: VoidFunction }) { const [jobType, setJobType] = useState(""); const [isOpen, setIsOpen] = useState(false); - const [createDepartmentPost] = useCreateDepartmentPostMutation() + const [createDepartmentPost, { isLoading }] = useCreateDepartmentPostMutation() const { data } = useGetDepartmentMasterDropDownQuery() const [selectdDep, setSelectdDep] = useState({ id: '', @@ -140,7 +140,7 @@ function AddDepartmentMaster({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/DepartmentMaster/EditDepartmentMaster.tsx b/src/Pages/MasterModule/DepartmentMaster/EditDepartmentMaster.tsx index 0364cec..824cb2b 100644 --- a/src/Pages/MasterModule/DepartmentMaster/EditDepartmentMaster.tsx +++ b/src/Pages/MasterModule/DepartmentMaster/EditDepartmentMaster.tsx @@ -17,7 +17,7 @@ import { useGetDepartmentMasterDropDownQuery, useUpdateDepartmentMutation } from function EditDepartmentMaster({ localData, refetch }: { localData: any, refetch: VoidFunction }) { const [jobtype, setJobType] = useState(""); - const [updateDepartment] = useUpdateDepartmentMutation() + const [updateDepartment, { isLoading }] = useUpdateDepartmentMutation() const { data } = useGetDepartmentMasterDropDownQuery() const [isOpen, setIsOpen] = useState(false); const [selectdDep, setSelectdDep] = useState({ @@ -145,7 +145,7 @@ function EditDepartmentMaster({ localData, refetch }: { localData: any, refetch: - diff --git a/src/Pages/MasterModule/IndustryMaster/AddIndustryMaster.tsx b/src/Pages/MasterModule/IndustryMaster/AddIndustryMaster.tsx index 356cce1..6fb8c8f 100644 --- a/src/Pages/MasterModule/IndustryMaster/AddIndustryMaster.tsx +++ b/src/Pages/MasterModule/IndustryMaster/AddIndustryMaster.tsx @@ -9,7 +9,7 @@ import { useCreateIndustryMasterPostMutation } from "../../../Redux/Service/indu function AddIndustryMaster({ refetch }: { refetch: VoidFunction }) { const [jobType, setJobType] = useState(""); const [isOpen, setIsOpen] = useState(false); - const [createIndustryMasterPost] = useCreateIndustryMasterPostMutation() + const [createIndustryMasterPost, { isLoading }] = useCreateIndustryMasterPostMutation() const handleOpenModal = () => { setIsOpen(true); // Open modal when clicking "Add" @@ -88,7 +88,7 @@ function AddIndustryMaster({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/IndustryMaster/EditIndustryMaster.tsx b/src/Pages/MasterModule/IndustryMaster/EditIndustryMaster.tsx index 745c9ec..1da2cfd 100644 --- a/src/Pages/MasterModule/IndustryMaster/EditIndustryMaster.tsx +++ b/src/Pages/MasterModule/IndustryMaster/EditIndustryMaster.tsx @@ -17,7 +17,7 @@ import { useUpdateIndustryMasterMutation } from "../../../Redux/Service/industry function EditIndustryMaster({ id, localData, refetch, categories }: { id: number, localData: any, refetch: VoidFunction, categories: any }) { const [jobtype, setJobType] = useState(""); - const [updateIndustryMaster] = useUpdateIndustryMasterMutation() + const [updateIndustryMaster, { isLoading }] = useUpdateIndustryMasterMutation() const [isOpen, setIsOpen] = useState(false); const handleOpenModal = () => { @@ -98,7 +98,7 @@ function EditIndustryMaster({ id, localData, refetch, categories }: { id: number - diff --git a/src/Pages/MasterModule/JobStatus/EditJobStatusModel.tsx b/src/Pages/MasterModule/JobStatus/EditJobStatusModel.tsx index f6d0f0a..f64296d 100644 --- a/src/Pages/MasterModule/JobStatus/EditJobStatusModel.tsx +++ b/src/Pages/MasterModule/JobStatus/EditJobStatusModel.tsx @@ -9,7 +9,7 @@ import { Toaster, toaster } from "../../../components/ui/toaster"; function EditJobStatusModel({ localData, refetch }: { localData: any, refetch: VoidFunction }) { - const [updateJobStatus] = useUpdateJobStatusMutation() + const [updateJobStatus, { isLoading }] = useUpdateJobStatusMutation() const [title, setTitle] = useState(localData.translation.title); const [isOpen, setIsOpen] = useState(false); @@ -89,7 +89,7 @@ function EditJobStatusModel({ localData, refetch }: { localData: any, refetch: V - diff --git a/src/Pages/MasterModule/JobStatus/JobStatusAddModel.tsx b/src/Pages/MasterModule/JobStatus/JobStatusAddModel.tsx index 095b303..52b6b48 100644 --- a/src/Pages/MasterModule/JobStatus/JobStatusAddModel.tsx +++ b/src/Pages/MasterModule/JobStatus/JobStatusAddModel.tsx @@ -9,7 +9,7 @@ import { useState } from "react" function JobStatusAddModel({ refetch }: { refetch: VoidFunction }) { const [title, setTitle] = useState('') const [isOpen, setIsOpen] = useState(false); - const [createJobStatusPost] = useCreateJobStatusPostMutation() + const [createJobStatusPost, { isLoading }] = useCreateJobStatusPostMutation() const handleOpenModal = () => { setIsOpen(true); @@ -88,7 +88,7 @@ function JobStatusAddModel({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/JobType/EditJobModel.tsx b/src/Pages/MasterModule/JobType/EditJobModel.tsx index f5063c7..2285599 100644 --- a/src/Pages/MasterModule/JobType/EditJobModel.tsx +++ b/src/Pages/MasterModule/JobType/EditJobModel.tsx @@ -17,7 +17,7 @@ import { toaster } from "../../../components/ui/toaster"; function EditJobeModel({ id, localData, refetch }: { id: number, localData: any, refetch: VoidFunction }) { const [jobtype, setJobType] = useState(""); - const [updateJobType] = useUpdateJobTypeMutation() + const [updateJobType, { isLoading }] = useUpdateJobTypeMutation() const [isOpen, setIsOpen] = useState(false); const handleOpenModal = () => { @@ -97,7 +97,7 @@ function EditJobeModel({ id, localData, refetch }: { id: number, localData: any, - diff --git a/src/Pages/MasterModule/JobType/JobAddModel.tsx b/src/Pages/MasterModule/JobType/JobAddModel.tsx index 4f22c51..be29fb0 100644 --- a/src/Pages/MasterModule/JobType/JobAddModel.tsx +++ b/src/Pages/MasterModule/JobType/JobAddModel.tsx @@ -9,7 +9,7 @@ import { toaster } from "../../../components/ui/toaster"; function JobAddModel({ refetch }: { refetch: VoidFunction }) { const [jobType, setJobType] = useState(""); const [isOpen, setIsOpen] = useState(false); - const [createJobTypePost] = useCreateJobTypePostMutation() + const [createJobTypePost, { isLoading }] = useCreateJobTypePostMutation() const handleOpenModal = () => { setIsOpen(true); // Open modal when clicking "Add" @@ -87,7 +87,7 @@ function JobAddModel({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/JobType/JobType.tsx b/src/Pages/MasterModule/JobType/JobType.tsx index 5ccd1a5..fccc958 100644 --- a/src/Pages/MasterModule/JobType/JobType.tsx +++ b/src/Pages/MasterModule/JobType/JobType.tsx @@ -40,7 +40,7 @@ const tableHeadRow = [ const JobType = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch } = useGetJobTypeQuery(currentPage) + const { data, refetch, isFetching, isError } = useGetJobTypeQuery(currentPage) const [localData, setLocalData] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [jobTypeToggle] = useJobTypeToggleMutation() @@ -155,6 +155,8 @@ const JobType = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> diff --git a/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx b/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx index 011258c..b12991c 100644 --- a/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx +++ b/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx @@ -49,7 +49,7 @@ const tableHeadRow = [ const TemplateMaster = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch } = useGetTemplateMasterQuery(currentPage) + const { data, refetch, isFetching, isError } = useGetTemplateMasterQuery(currentPage) const [localData, setLocalData] = useState([]); const [templateMasterToggle] = useTemplateMasterToggleMutation(); const [searchTerm, setSearchTerm] = useState(""); @@ -194,6 +194,8 @@ const TemplateMaster = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> diff --git a/src/Pages/MasterModule/WorkspaceMode/EditWorkModel.tsx b/src/Pages/MasterModule/WorkspaceMode/EditWorkModel.tsx index a85b43f..c1f2f4f 100644 --- a/src/Pages/MasterModule/WorkspaceMode/EditWorkModel.tsx +++ b/src/Pages/MasterModule/WorkspaceMode/EditWorkModel.tsx @@ -24,7 +24,7 @@ import { useUpdateWorkSpaceMutation } from "../../../Redux/Service/workspace.mod function EditWorkModel({ localData, refetch }: {localData: any, refetch: VoidFunction}) { const [title, setTitle] = useState(localData?.en_name); const [isOpen, setIsOpen] = useState(false); - const [updateWorkSpace] = useUpdateWorkSpaceMutation() + const [updateWorkSpace, { isLoading }] = useUpdateWorkSpaceMutation() console.log("localData", localData) const handleOpenModal = () => { @@ -104,7 +104,7 @@ function EditWorkModel({ localData, refetch }: {localData: any, refetch: VoidFun - diff --git a/src/Pages/MasterModule/WorkspaceMode/WorkAddModel.tsx b/src/Pages/MasterModule/WorkspaceMode/WorkAddModel.tsx index 0e5ba79..3286cb7 100644 --- a/src/Pages/MasterModule/WorkspaceMode/WorkAddModel.tsx +++ b/src/Pages/MasterModule/WorkspaceMode/WorkAddModel.tsx @@ -9,7 +9,7 @@ import { Toaster, toaster } from "../../../components/ui/toaster"; function WorkAddModel({ refetch }: { refetch: VoidFunction }) { const [title, setTitle] = useState('') const [isOpen, setIsOpen] = useState(false); - const [createWorkspacePost] = useCreateWorkspacePostMutation() + const [createWorkspacePost, { isLoading }] = useCreateWorkspacePostMutation() const handleOpenModal = () => { setIsOpen(true); @@ -94,7 +94,7 @@ function WorkAddModel({ refetch }: { refetch: VoidFunction }) { - diff --git a/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx b/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx index df9b8dd..4b27886 100644 --- a/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx +++ b/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx @@ -37,7 +37,7 @@ const tableHeadRow = [ const WorkspaceMode = () => { const [currentPage, setCurrentPage] = useState(1); - const { data, refetch } = useGetWorkSpaceModeQuery(currentPage) + const { data, refetch, isError, isFetching } = useGetWorkSpaceModeQuery(currentPage) const [localData, setLocalData] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [workspaceToggle] = useWorkspaceToggleMutation() @@ -152,6 +152,8 @@ const WorkspaceMode = () => { total: data?.data.total || 0 }} onPageChange={handlePageChange} + isLoading={isFetching} + isError={isError} /> diff --git a/src/Pages/SubAdmin/AddModel.tsx b/src/Pages/SubAdmin/AddModel.tsx index 1dbc025..69989b2 100644 --- a/src/Pages/SubAdmin/AddModel.tsx +++ b/src/Pages/SubAdmin/AddModel.tsx @@ -17,12 +17,12 @@ import { toaster, Toaster } from "../../components/ui/toaster"; import { useEffect, useState } from "react"; function AddModel({ refetch, allPermissions }: { refetch: VoidFunction, allPermissions?: PermissionResponse }) { - const [createSubAdminPost] = useCreateSubAdminPostMutation(); + const [createSubAdminPost, { isLoading }] = useCreateSubAdminPostMutation(); // State fields const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); - const [userName, setUserName] = useState(""); + // const [userName, setUserName] = useState(""); const [dateOfBirth, setDateOfBirth] = useState(""); const [gender, setGender] = useState(""); const [email, setEmail] = useState(""); @@ -47,7 +47,7 @@ useEffect(() => { if (!isOpen) { setFirstName(""); setLastName(""); - setUserName(""); + // setUserName(""); setDateOfBirth(""); setGender(""); setEmail(""); @@ -60,7 +60,6 @@ useEffect(() => { if ( !firstName.trim() || !lastName.trim() || - !userName.trim() || !dateOfBirth.trim() || !gender.trim() ) { @@ -92,7 +91,7 @@ useEffect(() => { } const payload = { - user_name: userName, + // user_name: userName, first_name: firstName, last_name: lastName, date_of_birth: dateOfBirth, @@ -112,10 +111,9 @@ useEffect(() => { type: "success", }); refetch(); - // setIsOpen(false); setFirstName(""); setLastName(""); - setUserName(""); + // setUserName(""); setDateOfBirth(""); setGender(""); setIsOpen(false); @@ -192,7 +190,7 @@ useEffect(() => { onChange={(e) => setLastName(e.target.value)} /> - + {/* Username { height="30px" value={userName} onChange={(e) => setUserName(e.target.value)} - /> + /> */} DOB @@ -306,6 +304,7 @@ useEffect(() => { bg="#02A0A0" color={"#fff"} onClick={handleSubmit} + disabled={isLoading} > Save diff --git a/src/Pages/SubAdmin/EditSubAdmin.tsx b/src/Pages/SubAdmin/EditSubAdmin.tsx index 329d11b..b925c8c 100644 --- a/src/Pages/SubAdmin/EditSubAdmin.tsx +++ b/src/Pages/SubAdmin/EditSubAdmin.tsx @@ -43,7 +43,7 @@ interface ResourceActionLink { function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: VoidFunction, allPermissions?: PermissionResponse }) { const [trigger, { data }] = useLazyViewSubAdminQuery(); - const [updateSubAdmin] = useUpdateSubAdminMutation() + const [updateSubAdmin, {isLoading}] = useUpdateSubAdminMutation() const [isOpen, setIsOpen] = useState(false); const [editData, setEditData] = useState<{ id: string; @@ -130,7 +130,7 @@ function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: Vo const payload = { id: Number(editData.id), - unique_id: editData.unique_id, + // unique_id: editData.unique_id, first_name: editData.first_name, last_name: editData.last_name, date_of_birth: editData.date_of_birth, @@ -190,7 +190,7 @@ function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: Vo - + {/* ID setEditData({ ...editData, unique_id: e.target.value })} - /> + /> */} First Name @@ -287,7 +287,7 @@ function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: Vo - diff --git a/src/Redux/Service/manage.subadmin.service.ts b/src/Redux/Service/manage.subadmin.service.ts index 4ac7b68..89c0bba 100644 --- a/src/Redux/Service/manage.subadmin.service.ts +++ b/src/Redux/Service/manage.subadmin.service.ts @@ -103,7 +103,7 @@ interface SubAdminView { } interface CreateSubAdminPayload { - user_name: string; + // user_name: string; first_name: string; last_name: string; date_of_birth: string; diff --git a/src/index.css b/src/index.css index e4f999d..ede8ad5 100644 --- a/src/index.css +++ b/src/index.css @@ -183,4 +183,23 @@ input:focus-visible { .css-1ilznyv { border: none; +} + +.custom-checkbox { + width: 16px; + height: 16px; + border: 2px solid black; + background-color: white; + appearance: none; + cursor: pointer; + position: relative; +} + +.custom-checkbox:checked::after { + content: "✔"; + color: black; + font-size: 16px; + position: absolute; + top: -2px; + left: 0px; } \ No newline at end of file