diff --git a/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx b/src/Pages/MasterModule/AgencyMaster/AgencyMaster.tsx
index c0a82ce..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) {
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(null);
+ // const [selectedTemplate, setSelectedTemplate] = useState(null);
const token = localStorage.getItem("token");
- console.log(selectedTemplate);
+ console.log(images);
const handleImageChange = async (event: React.ChangeEvent) => {
if (event.target.files) {
@@ -57,7 +57,7 @@ function EditTemplateModel({ id, localData, refetch }: { id: number, localData:
const handleOpenModal = () => {
const template = localData?.find((item: any) => item.id === id);
if (template) {
- setSelectedTemplate(template);
+ // setSelectedTemplate(template);
setTitle(template.post_template_translate.length > 0 ? template.post_template_translate[0].title : "");
setSubTitle(template.post_template_translate.length > 0 ? template.post_template_translate[0].sub_title : "");
setUserType(template.principle_type_xid?.toString() || "");
@@ -90,9 +90,9 @@ function EditTemplateModel({ id, localData, refetch }: { id: number, localData:
return;
}
- const newImages = images.filter((image) => image instanceof File);
+ // const newImages = images.filter((image) => image instanceof File);
- if (newImages.length === 0) {
+ if (images.length === 0) {
toaster.create({
title: "Error",
description: "Please upload at least one image.",
@@ -107,8 +107,10 @@ function EditTemplateModel({ id, localData, refetch }: { id: number, localData:
formData.append("title", title);
formData.append("sub_title", subTitle);
- newImages.forEach((image, index) => {
- formData.append(`image_name[${index}]`, image, image.name);
+ images.forEach((image, index) => {
+ if (image instanceof File) {
+ formData.append(`image_name[${index}]`, image, image.name);
+ }
});
try {
diff --git a/src/Pages/MasterModule/TemplateMaster/TemplateAddModel.tsx b/src/Pages/MasterModule/TemplateMaster/TemplateAddModel.tsx
index 2836560..40e0492 100644
--- a/src/Pages/MasterModule/TemplateMaster/TemplateAddModel.tsx
+++ b/src/Pages/MasterModule/TemplateMaster/TemplateAddModel.tsx
@@ -3,7 +3,7 @@ import { Box, Field, Input, Stack, Text } from "@chakra-ui/react"
import { IoMdAdd } from "react-icons/io"
import { Button } from "../../../components/ui/button"
import { FiUpload } from "react-icons/fi";
-import { useState } from "react";
+import { useEffect, useState } from "react";
// import { useCreateTemplatePostMutation } from "../../../Redux/Service/template.master.service";
import { Toaster, toaster } from "../../../components/ui/toaster"
import axios from "axios";
@@ -18,11 +18,21 @@ function TemplateAddModel({ refetch }: { refetch: VoidFunction }) {
// const [createTemplatePost] = useCreateTemplatePostMutation()
const [isOpen, setIsOpen] = useState(false);
const token = localStorage.getItem("token");
+
+ useEffect(() => {
+ if (!isOpen) {
+ setTitle("");
+ setSubTitle("");
+ setUserType("");
+ setImages([]);
+ }
+ }, [isOpen]);
+
if (!token) {
console.error("No token found in localStorage!");
- return;
+ return null;
}
-
+
const handleOpenModal = () => {
setIsOpen(true); // Open modal when clicking "Add"
};
@@ -112,7 +122,7 @@ function TemplateAddModel({ refetch }: { refetch: VoidFunction }) {
}
};
- // console.log("Token stored:", window.localStorage.getItem("token"));
+ // console.log("Token stored:", window.localStorage.getItem("token"))
return (
diff --git a/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx b/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx
index 031a0a6..a1f4fdb 100644
--- a/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx
+++ b/src/Pages/MasterModule/TemplateMaster/TemplateMaster.tsx
@@ -17,6 +17,7 @@ const APIURL = import.meta.env.VITE_IMG_TEMPLATES
const tableHeadRow = [
"Sr. No",
"Title",
+ "User Type",
"Images",
"Action"
];
@@ -92,11 +93,12 @@ const TemplateMaster = () => {
"Title": agency.post_template_translate.length > 0
? agency.post_template_translate[0].title
: "N/A",
+ "User Type": agency.principle_type_xid === 2 ? 'Recruiter' : 'Job Seeker',
"Images": (
//
{agency.post_template_image.map((img) => (
-
+
))}
{/* */}
diff --git a/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx b/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx
index a094097..0c8f8a6 100644
--- a/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx
+++ b/src/Pages/MasterModule/WorkspaceMode/WorkspaceMode.tsx
@@ -88,7 +88,9 @@ const WorkspaceMode = () => {
const managepost = filteredData?.map((agency: any, index: number) => ({
'id': agency.id,
"Sr. No": (currentPage - 1) * (data?.data.per_page ?? 0) + index + 1,
- "Title": agency.en_name,
+ "Title": agency.en_name.length > 12
+ ? agency.en_name.slice(0, 12) + '...'
+ : agency.en_name,
"is_active": agency.is_active,
"Action": (
diff --git a/src/Redux/Service/template.master.service.ts b/src/Redux/Service/template.master.service.ts
index f770228..ca36912 100644
--- a/src/Redux/Service/template.master.service.ts
+++ b/src/Redux/Service/template.master.service.ts
@@ -27,6 +27,7 @@ interface PaginationData {
export interface Template {
id: number;
is_active: boolean;
+ principle_type_xid: number;
post_template_translate: PostTemplateTranslate[];
post_template_image: PostTemplateImage[];
}
diff --git a/src/Redux/Service/workspace.mode.ts b/src/Redux/Service/workspace.mode.ts
index 8d88c49..9f3a73d 100644
--- a/src/Redux/Service/workspace.mode.ts
+++ b/src/Redux/Service/workspace.mode.ts
@@ -50,7 +50,7 @@ export const workspaceMode = createApi({
endpoints: (builder) => ({
createWorkspacePost: builder.mutation>({
query: (data) => ({
- url: "/department-master-store",
+ url: "/workspace-create",
method: "POST",
body: data,
}),
diff --git a/src/components/DataTable.tsx b/src/components/DataTable.tsx
index 64ce088..28c3bf7 100644
--- a/src/components/DataTable.tsx
+++ b/src/components/DataTable.tsx
@@ -108,7 +108,7 @@ const DataTable: React.FC = ({
- We do not have any records
+ No records found — they’ll appear here if available.