Bugs fixes and updates
This commit is contained in:
@@ -168,7 +168,7 @@ const Dashboard = () => {
|
||||
</Box>
|
||||
</Box>
|
||||
<Box p={"20px"} pt={0} display={"flex"} gap={5}>
|
||||
<Box w={"50%"} rounded={'lg'} bg={"#f2f2f2"} h={'100%'} p={"10px"} overflow={'auto'}>
|
||||
<Box w={"50%"} rounded={'lg'} bg={"#f2f2f2"} h={'100%'} p={"10px"} overflowY={'scroll'} height={'292px'}>
|
||||
<HStack justifyContent={"space-between"} mb={5}>
|
||||
<Text fontSize={"xs"} fontWeight={500}>Faqs</Text>
|
||||
<Button
|
||||
|
||||
@@ -22,7 +22,7 @@ function AboutUsAddModel({ aboutUsData }: { aboutUsData: any }) {
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
// RTK Query Mutation Hook
|
||||
const [updateAboutUs] = useUpdateAboutUsMutation();
|
||||
const [updateAboutUs, { isLoading }] = useUpdateAboutUsMutation();
|
||||
|
||||
// React Hook Form
|
||||
const {
|
||||
@@ -134,6 +134,7 @@ function AboutUsAddModel({ aboutUsData }: { aboutUsData: any }) {
|
||||
bg="#02A0A0"
|
||||
color="#fff"
|
||||
// isLoading={isLoading}
|
||||
disabled={isLoading}
|
||||
onClick={handleSubmit(onSubmit)} // Use handleSubmit to trigger form submission
|
||||
>
|
||||
Save
|
||||
|
||||
@@ -26,7 +26,7 @@ function EditDetails({ rowData, refetch }: {rowData: RowData, refetch: VoidFunct
|
||||
const [faqQuestion, setFaqQuestion] = useState(rowData?.question);
|
||||
const [faqAnswer, setFaqAnswer] = useState(rowData?.answer);
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
const [updateFaq] = useUpdateFaqMutation()
|
||||
const [updateFaq, { isLoading }] = useUpdateFaqMutation()
|
||||
|
||||
// console.log('ROWDATA', rowData);
|
||||
|
||||
@@ -146,7 +146,7 @@ function EditDetails({ rowData, refetch }: {rowData: RowData, refetch: VoidFunct
|
||||
</DialogBody>
|
||||
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [faqToggle] = useFaqToggleMutation()
|
||||
const [deleteFaqPost] = useDeleteFaqPostMutation()
|
||||
@@ -237,6 +237,8 @@ const FAQ = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>)}
|
||||
</Box>
|
||||
<Toaster />
|
||||
|
||||
@@ -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 }) {
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} mt={'4'} onClick={handleSubmit(onSubmit)}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} mt={'4'} onClick={handleSubmit(onSubmit)} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} mt={'4'} onClick={handleSubmit(onSubmit)}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} mt={'4'} onClick={handleSubmit(onSubmit)} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
</Button>
|
||||
@@ -151,6 +152,7 @@ function PendingRequests({ data, refetch }: { data: any, refetch: VoidFunction }
|
||||
// colorPalette="#007F33"
|
||||
size={"xs"}
|
||||
onClick={() => handleSubmit('0')}
|
||||
disabled={isLoading}
|
||||
>
|
||||
Resolved
|
||||
</Button>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
</Button>
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [postStatusToggle] = usePostStatusToggleMutation()
|
||||
@@ -242,6 +242,8 @@ const ManagePost = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>
|
||||
</Box>
|
||||
<Toaster />
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
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}
|
||||
/>
|
||||
</Box>
|
||||
<Toaster />
|
||||
</MainFrame>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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<UserData>({
|
||||
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<UserFormData>(transformToFormData(data));
|
||||
// const [formData, setFormData] = useState<UserData>({
|
||||
// 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
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
Type Of User
|
||||
</Field.Label>
|
||||
<Input
|
||||
{/* <Input
|
||||
bgColor="#EEEEEE"
|
||||
color="black"
|
||||
border="none"
|
||||
@@ -202,30 +251,113 @@ function EditRegisterUsers({ data, refetch }: { data: UserData, refetch: () => 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 } })}
|
||||
/>
|
||||
/> */}
|
||||
|
||||
{/* <Field.Label color="black" pt={1} fontSize="12px">
|
||||
Language
|
||||
</Field.Label>
|
||||
<Input
|
||||
bgColor="#EEEEEE"
|
||||
color="black"
|
||||
border="none"
|
||||
pl={1}
|
||||
fontSize="12px"
|
||||
height="30px"
|
||||
/> */}
|
||||
<Box>
|
||||
<select
|
||||
style={{
|
||||
width: "100%",
|
||||
background: "transparent",
|
||||
color: "black",
|
||||
border: "none",
|
||||
fontSize: "12px",
|
||||
height: "30px",
|
||||
outline: "none",
|
||||
}}
|
||||
value={formData.principal_type_xid?.toString() || 'N/A'}
|
||||
onChange={(e) => setFormData({ ...formData, principal_type_xid: Number(e.target.value) })}
|
||||
>
|
||||
{/* <option value="">Select User Type</option> */}
|
||||
<option value="2">Recruiter</option>
|
||||
<option value="3">Jobseeker</option>
|
||||
</select>
|
||||
</Box>
|
||||
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
Language
|
||||
</Field.Label>
|
||||
{/* <Input
|
||||
bgColor="#EEEEEE"
|
||||
color="black"
|
||||
border="none"
|
||||
pl={1}
|
||||
fontSize="12px"
|
||||
height="30px"
|
||||
value={formData?.principle_language_linkss?.language_xid || 'N/A'}
|
||||
onChange={(e) => setFormData({
|
||||
...formData, principle_language_linkss: {
|
||||
...formData?.principle_language_linkss, language_xid: e.target.value
|
||||
.split(",")
|
||||
.map(lang => lang.trim())
|
||||
.filter(Boolean)
|
||||
}
|
||||
})}
|
||||
/> */}
|
||||
|
||||
<HStack>
|
||||
{[
|
||||
{ id: 1, label: "English" },
|
||||
{ id: 2, label: "Hindi" },
|
||||
{ id: 4, label: "Other" },
|
||||
].map((lang) => (
|
||||
<label
|
||||
key={lang.id}
|
||||
style={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
fontSize: "12px",
|
||||
color: "#000",
|
||||
marginBottom: "8px",
|
||||
gap: "8px",
|
||||
}}
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
className="custom-checkbox"
|
||||
|
||||
value={lang.id}
|
||||
checked={formData?.principle_language_linkss?.language_xid?.includes(lang.id) || false}
|
||||
onChange={(e) => {
|
||||
const selected = formData?.principle_language_linkss?.language_xid || [];
|
||||
const value = Number(e.target.value);
|
||||
const updated = e.target.checked
|
||||
? [...selected, value]
|
||||
: selected.filter((id) => id !== value);
|
||||
|
||||
setFormData({
|
||||
...formData,
|
||||
principle_language_linkss: {
|
||||
...formData?.principle_language_linkss,
|
||||
language_xid: updated,
|
||||
},
|
||||
});
|
||||
}}
|
||||
style={{
|
||||
width: "16px",
|
||||
height: "16px",
|
||||
border: "2px solid black",
|
||||
backgroundColor: "#fff",
|
||||
appearance: "none",
|
||||
cursor: "pointer",
|
||||
position: "relative",
|
||||
}}
|
||||
|
||||
/>
|
||||
{lang.label}
|
||||
</label>
|
||||
))}
|
||||
</HStack>
|
||||
</Field.Root>
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter mt={5}>
|
||||
<Button rounded={"md"} w={"100%"} size={"sm"} bg={"#02A0A0"} onClick={handleSubmit}>
|
||||
<Button rounded={"md"} w={"100%"} size={"sm"} bg={"#02A0A0"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
<DialogCloseTrigger color="black" />
|
||||
</DialogContent>
|
||||
</DialogRoot>
|
||||
</DialogRoot >
|
||||
<Toaster />
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [userToggle] = useUserToggleMutation()
|
||||
@@ -165,8 +165,6 @@ const RegisterUsers = () => {
|
||||
"Action": (
|
||||
<HStack justifyContent="center">
|
||||
<EditRegisterUsers
|
||||
// rowData={{ id: agency.id, en_name: agency.en_name, country_code: agency.country_code, phonecode: agency.phonecode, capital: agency.capital, currency: agency.currency, currency_name: agency.currency_name, currency_symbol: agency.currency_symbol }}
|
||||
// refetch={refetch}
|
||||
data={agency}
|
||||
refetch={refetch}
|
||||
/>
|
||||
@@ -238,6 +236,8 @@ const RegisterUsers = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>
|
||||
</Box>
|
||||
</MainFrame>
|
||||
|
||||
@@ -102,12 +102,13 @@ function ViewRegisterUsers({ data }: { data: UserData }) {
|
||||
value={data?.principal_type?.principal_type_title || 'N/A'}
|
||||
/>
|
||||
|
||||
{/* <Field.Label color="black" pt={1} fontSize="12px">
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
Language
|
||||
</Field.Label>
|
||||
<Input
|
||||
bgColor="#EEEEEE" color="black" border="none" pl={1} fontSize="12px" height="30px"
|
||||
/> */}
|
||||
value={data?.principle_language_linkss?.language?.language_name || 'N/A'}
|
||||
/>
|
||||
</Field.Root>
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
|
||||
@@ -52,7 +52,7 @@ function EditAgencyMaster<T extends AgencyFormData>({ 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<T extends AgencyFormData>({ editData, refetch }: { edi
|
||||
fontSize="12px"
|
||||
height="30px"
|
||||
onClick={handleSubmit}
|
||||
disabled={isLoading}
|
||||
>
|
||||
Save
|
||||
</Button>
|
||||
|
||||
@@ -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<PostCountry>({
|
||||
en_name: '',
|
||||
@@ -202,7 +202,7 @@ function CountryAddModel({refetch}: { refetch: VoidFunction }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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<any>({
|
||||
id: '',
|
||||
@@ -140,7 +140,7 @@ function AddDepartmentMaster({ refetch }: { refetch: VoidFunction }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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<any>({
|
||||
@@ -145,7 +145,7 @@ function EditDepartmentMaster({ localData, refetch }: { localData: any, refetch:
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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 }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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 }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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,
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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 }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [jobTypeToggle] = useJobTypeToggleMutation()
|
||||
@@ -155,6 +155,8 @@ const JobType = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>
|
||||
</Box>
|
||||
<Toaster />
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [templateMasterToggle] = useTemplateMasterToggleMutation();
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
@@ -194,6 +194,8 @@ const TemplateMaster = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>
|
||||
</Box>
|
||||
<Toaster />
|
||||
|
||||
@@ -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
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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 }) {
|
||||
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -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<any[]>([]);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [workspaceToggle] = useWorkspaceToggleMutation()
|
||||
@@ -152,6 +152,8 @@ const WorkspaceMode = () => {
|
||||
total: data?.data.total || 0
|
||||
}}
|
||||
onPageChange={handlePageChange}
|
||||
isLoading={isFetching}
|
||||
isError={isError}
|
||||
/>
|
||||
</Box>
|
||||
<Toaster />
|
||||
|
||||
@@ -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)}
|
||||
/>
|
||||
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
{/* <Field.Label color="black" pt={1} fontSize="12px">
|
||||
Username
|
||||
</Field.Label>
|
||||
<Input
|
||||
@@ -205,7 +203,7 @@ useEffect(() => {
|
||||
height="30px"
|
||||
value={userName}
|
||||
onChange={(e) => setUserName(e.target.value)}
|
||||
/>
|
||||
/> */}
|
||||
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
DOB
|
||||
@@ -306,6 +304,7 @@ useEffect(() => {
|
||||
bg="#02A0A0"
|
||||
color={"#fff"}
|
||||
onClick={handleSubmit}
|
||||
disabled={isLoading}
|
||||
>
|
||||
Save
|
||||
</Button>
|
||||
|
||||
@@ -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
|
||||
<DialogBody bg="white">
|
||||
<Stack py={3}>
|
||||
<Field.Root>
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
{/* <Field.Label color="black" pt={1} fontSize="12px">
|
||||
ID
|
||||
</Field.Label>
|
||||
<Input
|
||||
@@ -203,7 +203,7 @@ function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: Vo
|
||||
height="30px"
|
||||
value={editData.unique_id}
|
||||
onChange={(e) => setEditData({ ...editData, unique_id: e.target.value })}
|
||||
/>
|
||||
/> */}
|
||||
|
||||
<Field.Label color="black" pt={1} fontSize="12px">
|
||||
First Name
|
||||
@@ -287,7 +287,7 @@ function EditSubAdmin({ id, refetch, allPermissions }: { id: number, refetch: Vo
|
||||
</Stack>
|
||||
</DialogBody>
|
||||
<DialogFooter display="flex" justifyContent="center" pt={"2"}>
|
||||
<Button size={"xs"} w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit}>
|
||||
<Button size={"xs"} w="100%" bg="#02A0A0" color={"#fff"} onClick={handleSubmit} disabled={isLoading}>
|
||||
Save
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -103,7 +103,7 @@ interface SubAdminView {
|
||||
}
|
||||
|
||||
interface CreateSubAdminPayload {
|
||||
user_name: string;
|
||||
// user_name: string;
|
||||
first_name: string;
|
||||
last_name: string;
|
||||
date_of_birth: string;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user