diff --git a/dev-dist/sw.js b/dev-dist/sw.js
index ec4592f..01e5a6f 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.cuug5u5p6eo"
+ "revision": "0.96d38pjn7gg"
}], {});
workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
diff --git a/src/Pages/Login.tsx b/src/Pages/Login.tsx
index 7463dc4..a023088 100644
--- a/src/Pages/Login.tsx
+++ b/src/Pages/Login.tsx
@@ -46,8 +46,7 @@ const Login = () => {
// Encode Basic Auth Credentials
const username = import.meta.env.VITE_USER_NAME || ""; // Replace with actual username
const password = import.meta.env.VITE_PASSWORD || ""; // Replace with actual password
- const credentials = `${username}:${password}`; // Encode to Base64
- const basicAuth = btoa(credentials);
+ const basicAuth = `${username}:${password}`; // Encode to Base64
try {
const res = await axios.post(
@@ -78,22 +77,18 @@ const Login = () => {
console.log(res);
console.log("====================================");
}
- } catch (error: any) {
- console.log('error', error?.response);
+ } catch (error) {
+ console.log('error', error);
- if (axios.isAxiosError(error) && error.response) {
- toaster.create({
- title: error.response.data?.message,
- // title: "Something Went Wrong",
- type: "info",
- });
- } else {
+ if (error) {
toaster.create({
+ // title: error?.response?.data?.message,
title: "Something Went Wrong",
type: "info",
- });
+ })
+ // console.log("Login failed", error?.response?.data?.message);
+ setIsLoading(false);
}
- setIsLoading(false);
}
});
diff --git a/src/Pages/ManageCMS/FAQ/EditDetails.tsx b/src/Pages/ManageCMS/FAQ/EditDetails.tsx
index 18d0c08..2864c95 100644
--- a/src/Pages/ManageCMS/FAQ/EditDetails.tsx
+++ b/src/Pages/ManageCMS/FAQ/EditDetails.tsx
@@ -1,85 +1,3 @@
-// import { Button } from "../../../components/ui/button";
-// import {
-// DialogBody,
-// DialogCloseTrigger,
-// DialogContent,
-// DialogFooter,
-// DialogHeader,
-// DialogRoot,
-// DialogTitle,
-// DialogTrigger,
-// } from "../../../components/ui/dialog";
-// import { Field, Input, Stack, Textarea } from "@chakra-ui/react";
-// import Edit from "../../../components/ActionIcons/Edit";
-// function EditDetails() {
-// return (
-//
-//
-// {/* */}
-//
-
-//
-
-//
-//
-//
-// Edit Details
-//
-//
-
-//
-//
-//
-//
-// Questions
-//
-//
-
-//
-// Answer
-//
-//
-//
-//
-//
-//
-//
-//
-
-//
-//
-//
-// );
-// }
-
-// export default EditDetails;
-
import { Button } from "../../../components/ui/button";
import {
DialogBody,
@@ -99,6 +17,7 @@ import { Toaster, toaster } from "../../../components/ui/toaster";
interface RowData {
id: number;
+ principal_type_xid: number;
question: string;
answer: string;
}
@@ -138,7 +57,8 @@ function EditDetails({ rowData, refetch }: {rowData: RowData, refetch: VoidFunct
const payload = {
id: rowData?.id,
question: faqQuestion,
- answer: faqAnswer
+ answer: faqAnswer,
+ principal_type_xid: rowData?.principal_type_xid,
};
try {
@@ -161,6 +81,11 @@ function EditDetails({ rowData, refetch }: {rowData: RowData, refetch: VoidFunct
} catch (error) {
console.error("Error updating template:", error);
// alert("Failed to update template");
+ toaster.create({
+ title: "Error",
+ description: "Something went wrong",
+ type: "error",
+ });
}
};
diff --git a/src/Pages/ManageCMS/FAQ/FAQ.tsx b/src/Pages/ManageCMS/FAQ/FAQ.tsx
index 7878e46..504b263 100644
--- a/src/Pages/ManageCMS/FAQ/FAQ.tsx
+++ b/src/Pages/ManageCMS/FAQ/FAQ.tsx
@@ -1,4 +1,4 @@
-import { Box, HStack, Image, Text } from "@chakra-ui/react";
+import { Box, HStack, Image, Spinner, Text } from "@chakra-ui/react";
import MainFrame from "../../../components/MainFrame"
import EditDetails from "./EditDetails";
// import { InputGroup } from "../../../components/ui/input-group";
@@ -19,6 +19,7 @@ import { Toaster, toaster } from "../../../components/ui/toaster";
const tableHeadRow = [
"Sr. No",
+ 'Category',
"Question",
"Answer",
"Action",
@@ -52,7 +53,7 @@ const tableHeadRow = [
// ];
const FAQ = () => {
- const { data, refetch, isLoading } = useGetFaqQuery()
+ const { data, refetch, isLoading, isFetching } = useGetFaqQuery()
const [localData, setLocalData] = useState([]);
const [faqToggle] = useFaqToggleMutation()
const [deleteFaqPost] = useDeleteFaqPostMutation()
@@ -69,13 +70,14 @@ const FAQ = () => {
}, [data]);
- const handleToggle = async (agencyId: string, currentStatus: number) => {
- const newStatus = currentStatus ? 0 : 1;
+ 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 faqToggle({ id: agencyId, is_active: newStatus }).unwrap();
refetch()
@@ -91,8 +93,8 @@ const FAQ = () => {
const handleDeleteFaq = async (faqId: number) => {
try {
- const response = await deleteFaqPost(faqId).unwrap();
- if (response.success) {
+ const response = await deleteFaqPost({ id: faqId }).unwrap();
+ if (response?.status === "success") {
toaster.create({
title: "Success",
description: "FAQ deleted successfully",
@@ -112,25 +114,29 @@ const FAQ = () => {
}
};
-
const filteredData = localData?.filter((agency) =>
- agency.translations.map((translation: any) => translation.question.toLowerCase()).some((question: string) =>
- question.includes(searchTerm.toLowerCase())
- ))
+ agency.translations.some((translation: any) => {
+ const searchLower = searchTerm.toLowerCase();
+ const questionMatch = translation.question?.toLowerCase().includes(searchLower);
+ const answerMatch = translation.answer?.toLowerCase().includes(searchLower);
+ return questionMatch || answerMatch;
+ })
+ );
- console.log("filteredData", filteredData);
-
+ console.log("filteredData", filteredData);
- const managepost = filteredData?.map((agency: FaqData, index: number) =>
+
+ const managepost = filteredData?.flatMap((agency: FaqData, index: number) =>
agency.translations.map((translation: any) => ({
- 'id': agency.id,
+ 'id': translation.id,
"Sr. No": index + 1,
"Question": translation.question,
"Answer": translation.answer,
+ 'Category': agency.principal_type_xid === 2 ? "Job Seeker" : "Recruiter",
"Action": (
-
+
{
handleToggle(agency.id.toString(), Number(agency.is_active))}
+ onChange={() => handleToggle(Number(agency.id), agency.is_active.toString())}
checked={Boolean(Number(agency.is_active))}
+ key={`switch-${agency.id}`}
/>
),
- })))
+ })))
- // if (!isLoading && !data?.data) {
- // return (
- //
- // )
- // }
+ if (isFetching) {
+ return (
+
+
+
+ )
+ }
return (
-
{
+ {isFetching && }
{!isLoading && !data?.data ? (
-
- ) :
+ ) : (}
+ />)}
diff --git a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx
index 357faad..5d0e1eb 100644
--- a/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx
+++ b/src/Pages/ManageCMS/PrivacyPolicy/PrivacyPolicy.tsx
@@ -21,6 +21,8 @@ const PrivacyPolicy = () => {
setIsBarLoading(isFetching)
}, [data])
+console.log('Privacy Policy Data:', data?.data);
+
return (
@@ -38,7 +40,7 @@ const PrivacyPolicy = () => {
Privacy Policy 🎓 {privacy_language?.language_name}
-
+
{
- setSelectedId(data?.id)
setValue("content", data.content); // Pre-fill the content field
setValue("languageCode", data.privacy_language.language_code); // Pre-fill the language code
setIsOpen(true); // Open dialog
@@ -46,7 +42,7 @@ function PrivacyPolicyAddModel({ policyData, refetch }: { policyData: any, refet
try {
await updatePrivacyPolicy({
- id: selectedId,
+ id: policyData.id,
content: formData.content,
language_code: formData.languageCode,
}).unwrap();
@@ -60,14 +56,14 @@ function PrivacyPolicyAddModel({ policyData, refetch }: { policyData: any, refet
return (
- {policyData?.map((item: any) => (
+
- ))}
+
-
+ {/*
Edit
-
+ */}
diff --git a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx
index 87ad14c..cff201b 100644
--- a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx
+++ b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditions.tsx
@@ -1,48 +1,58 @@
-import { Box, HStack, Text } from "@chakra-ui/react";
+import { Badge, HStack, Spinner, Stack, Text, VStack } from "@chakra-ui/react";
import MainFrame from "../../../components/MainFrame"
-import { p } from "framer-motion/client";
import TermsAndConditionsAddModel from "./TermsAndConditionsAddModel";
import { useGetTermsQuery } from "../../../Redux/Service/terms.and.condition.service";
const TermsAndConditions = () => {
- const { data, refetch } = useGetTermsQuery()
- const termsData = data?.data
+ const { data, refetch, isLoading, isFetching } = useGetTermsQuery()
return (
-
-
-
- Terms And Conditions
-
+
+
+ Terms and Conditions
+
-
+ {isLoading || isFetching ? (
+
+ ) : (
+ data?.data?.map(({ id, content, terms_cond_language }) => (
+
-
-
-
- {data?.data.map((item) => (
-
- ))}
+
+
+
+ 🎓 {terms_cond_language?.language_name}
+
+
-
-
-
+ {/* Pass Data to AboutUsAddModel */}
+
+
+
+ {/* {content} */}
+
+
+
+ ))
+ )}
+
+
)
}
diff --git a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx
index 7f4828e..6f2c112 100644
--- a/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx
+++ b/src/Pages/ManageCMS/TermsAndConditions/TermsAndConditionsAddModel.tsx
@@ -16,9 +16,8 @@ import ReactQuill from "react-quill";
import { useState } from "react";
import { useUpdateTermsMutation } from "../../../Redux/Service/terms.and.condition.service";
-function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, refetch: VoidFunction}) {
+function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, refetch: VoidFunction }) {
const [isOpen, setIsOpen] = useState(false);
- const [selectedId, setSelectedId] = useState(null);
const [updateTerms] = useUpdateTermsMutation()
const {
control,
@@ -33,7 +32,6 @@ function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, re
});
const handleEditClick = (data: any) => {
- setSelectedId(data?.id)
setValue("content", data.content); // Pre-fill the content field
setValue("languageCode", data.terms_cond_language.language_code); // Pre-fill the language code
setIsOpen(true); // Open dialog
@@ -44,7 +42,7 @@ function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, re
try {
await updateTerms({
- id: selectedId,
+ id: termsData.id,
content: formData.content,
language_code: formData.languageCode,
}).unwrap();
@@ -58,31 +56,28 @@ function TermsAndConditionsAddModel({ termsData, refetch }: { termsData: any, re
return (
- {termsData?.map((item: any) => (
-
-
-
- ))}
-
+
+
+
({
- query: (id) => ({
- url: `/faq-delete/${id}`,
- method: "DELETE",
+ deleteFaqPost: builder.mutation<{ status: string; message: string }, { id: number }>({
+ query: ({ id }) => ({
+ url: `/faq-delete`,
+ method: "POST",
+ body: { id },
}),
}),
diff --git a/src/Redux/Service/manage.aboutus.service.ts b/src/Redux/Service/manage.aboutus.service.ts
index 1d4b4d8..fd68fb4 100644
--- a/src/Redux/Service/manage.aboutus.service.ts
+++ b/src/Redux/Service/manage.aboutus.service.ts
@@ -39,7 +39,7 @@ export const aboutUs = createApi({
updateAboutUs: builder.mutation({
query: (updatedData) => ({
url: "/about-us/update", // ✅ Updated URL
- method: "PUT",
+ method: "POST",
body: updatedData,
}),
}),
diff --git a/src/components/NoData.tsx b/src/components/NoData.tsx
index a334b77..f98b93a 100644
--- a/src/components/NoData.tsx
+++ b/src/components/NoData.tsx
@@ -1,12 +1,12 @@
import { Center, Heading, Stack, Text } from '@chakra-ui/react';
-const NoData = () => {
+const NoData = ({ message, text }: { message:string, text:string }) => {
return (
- No data found
- Please add new data
+ {message}
+ {text}
)