From 8e12eb67970d1cd106ea0aab1ac863109fcfbf49 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Fri, 21 Nov 2025 09:45:28 +0530 Subject: [PATCH] Adding Switch button on Jobs. --- src/components/ServiceProject/JobList.jsx | 5 +- src/components/ServiceProject/Jobs.jsx | 58 +++++++++++++++---- src/hooks/useServiceProject.jsx | 8 ++- src/repositories/ServiceProjectRepository.jsx | 6 +- 4 files changed, 58 insertions(+), 19 deletions(-) diff --git a/src/components/ServiceProject/JobList.jsx b/src/components/ServiceProject/JobList.jsx index 0cf9b3cc..5e19a5b6 100644 --- a/src/components/ServiceProject/JobList.jsx +++ b/src/components/ServiceProject/JobList.jsx @@ -14,7 +14,7 @@ import ProjectPage from "../../pages/project/ProjectPage"; import { useServiceProjectJobContext } from "./Jobs"; import ConfirmModal from "../common/ConfirmModal"; -const JobList = () => { +const JobList = ({ isArchive }) => { const { setSelectedJob, setManageJob } = useServiceProjectJobContext(); const { mutate: UpdateJob } = useUpdateServiceProjectJob(() => { }); @@ -23,7 +23,8 @@ const JobList = () => { ITEMS_PER_PAGE, 1, true, - projectId + projectId, + isArchive ); const [isArchiveModalOpen, setIsArchiveModalOpen] = useState(false); const [archiveJobId, setArchiveJobId] = useState(null); diff --git a/src/components/ServiceProject/Jobs.jsx b/src/components/ServiceProject/Jobs.jsx index 3859fb3a..f0c4fb7a 100644 --- a/src/components/ServiceProject/Jobs.jsx +++ b/src/components/ServiceProject/Jobs.jsx @@ -21,6 +21,8 @@ export const useServiceProjectJobContext = () => { }; const Jobs = () => { const [manageJob, setManageJob] = useState({ isOpen: false, jobId: null }); + const [showArchive, setShowArchive] = useState(false); + const [showCanvas, setShowCanvas] = useState(false); const [selectedProject, setSelectedProject] = useState(null); const [selectJob, setSelectedJob] = useState({ @@ -58,21 +60,55 @@ const Jobs = () => {
-
-
-
- -
+
+ + {/* LEFT — Tabs */} +
+
    + +
  • + +
  • + +
  • + +
  • + +
- + + {/* RIGHT — New Job button */} +
+ +
+ + {/* Job List */} +
+ ); diff --git a/src/hooks/useServiceProject.jsx b/src/hooks/useServiceProject.jsx index a047a8a0..c7dfeab2 100644 --- a/src/hooks/useServiceProject.jsx +++ b/src/hooks/useServiceProject.jsx @@ -154,16 +154,18 @@ export const useServiceProjectJobs = ( pageSize, pageNumber, isActive = true, - project + project, + isArchive ) => { return useQuery({ - queryKey: ["serviceProjectJobs", pageSize, pageNumber, isActive, project], + queryKey: ["serviceProjectJobs", pageSize, pageNumber, isActive, project, isArchive], queryFn: async () => { const resp = await ServiceProjectRepository.GetJobList( pageSize, pageNumber, isActive, - project + project, + isArchive ); return resp.data; }, diff --git a/src/repositories/ServiceProjectRepository.jsx b/src/repositories/ServiceProjectRepository.jsx index 23fe8b38..ed03bd80 100644 --- a/src/repositories/ServiceProjectRepository.jsx +++ b/src/repositories/ServiceProjectRepository.jsx @@ -24,9 +24,9 @@ export const ServiceProjectRepository = { //#region Job CreateJob: (data) => api.post(`/api/ServiceProject/job/create`, data), - GetJobList: (pageSize, pageNumber, isActive, projectId) => + GetJobList: (pageSize, pageNumber, isActive, projectId,isArchive) => api.get( - `/api/ServiceProject/job/list?pageSize=${pageSize}&pageNumber=${pageNumber}&isActive=${isActive}&projectId=${projectId}` + `/api/ServiceProject/job/list?pageSize=${pageSize}&pageNumber=${pageNumber}&isActive=${isActive}&projectId=${projectId}&isArchive=${isArchive}` ), GetJobDetails: (id) => api.get(`/api/ServiceProject/job/details/${id}`), AddComment: (data) => api.post("/api/ServiceProject/job/add/comment", data), @@ -45,7 +45,7 @@ export const ServiceProjectRepository = { CreateBranch: (data) => api.post(`/api/ServiceProject/branch/create`, data), UpdateBranch: (id, data) => api.put(`/api/ServiceProject/branch/edit/${id}`, data), - + GetBranchList: (projectId, isActive, pageSize, pageNumber, searchString) => { return api.get( `/api/ServiceProject/branch/list/${projectId}?isActive=${isActive}&pageSize=${pageSize}&pageNumber=${pageNumber}&searchString=${searchString}`