diff --git a/frontend/src/pages/Career.tsx b/frontend/src/pages/Career.tsx index 2656530..c42656f 100644 --- a/frontend/src/pages/Career.tsx +++ b/frontend/src/pages/Career.tsx @@ -1,7 +1,6 @@ import { useState, useEffect, useCallback } from "react"; -import { getCareersApi, deleteCareerApi } from "@/api/career"; -import apiClient from "@/api/client"; +import { getCareersApi, updateCareerApi, createCareerApi } from "@/api/career"; import { Table, @@ -31,7 +30,6 @@ import { Loader2, Plus, Pencil, - Trash, RefreshCw, ChevronLeft, ChevronRight, @@ -96,6 +94,18 @@ export default function CareerPage() { setForm({ ...form, [e.target.name]: e.target.value }); } + const handleToggleStatus = async (item: any) => { + try { + await updateCareerApi(item.id, { + ...item, + isActive: !item.isActive, + } as any); + fetchAll(); + } catch (error) { + console.error("Failed to toggle status", error); + } + }; + function openAdd() { setEditing(null); setForm({ @@ -131,10 +141,11 @@ export default function CareerPage() { async function handleSubmit() { try { if (editing) { - await apiClient.patch(`/careers/${editing.id}`, form); + await updateCareerApi(editing.id, form); } else { - await apiClient.post("/careers", form); + await createCareerApi(form); } + setOpenModal(false); fetchAll(); } catch (err) { @@ -142,12 +153,6 @@ export default function CareerPage() { } } - async function handleDelete(id: number) { - if (!confirm("Delete career?")) return; - await deleteCareerApi(id); - fetchAll(); - } - return (
@@ -185,13 +190,13 @@ export default function CareerPage() {
- +
- + Priority - + Post & Designation @@ -200,13 +205,10 @@ export default function CareerPage() { Experience - - Contact Info + + Status (Active) - - Visibility - - + Actions @@ -215,14 +217,14 @@ export default function CareerPage() { {loading ? ( - + ) : currentItems.length === 0 ? ( No careers found @@ -251,19 +253,19 @@ export default function CareerPage() { {item.experienceNeed} -
{item.email}
-
- {item.number} +
+ handleToggleStatus(item)} + /> + + {item.isActive ? "Active" : "Hidden"} +
- - - {item.isActive ? "Active" : "Hidden"} - -
@@ -275,15 +277,6 @@ export default function CareerPage() { > - -
diff --git a/frontend/src/pages/Department.tsx b/frontend/src/pages/Department.tsx index 51eef61..d2b415a 100644 --- a/frontend/src/pages/Department.tsx +++ b/frontend/src/pages/Department.tsx @@ -6,7 +6,6 @@ import { getDepartmentsApi, createDepartmentApi, updateDepartmentApi, - deleteDepartmentApi, } from "@/api/department"; import { @@ -40,7 +39,6 @@ import { RefreshCw, Plus, Pencil, - Trash, Eye, ChevronLeft, ChevronRight, @@ -134,10 +132,18 @@ export default function DepartmentPage() { setForm({...form, [e.target.name]: value}); } - function truncate(text: string, limit = 60) { - if (!text) return "-"; - return text.length > limit ? text.substring(0, limit) + "..." : text; - } + const handleToggleStatus = async (dep: Department) => { + try { + const {departmentId, ...updateData} = dep; + await updateDepartmentApi(departmentId, { + ...updateData, + isActive: !dep.isActive, + } as any); + fetchDepartments(); + } catch (error) { + console.error("Failed to toggle status", error); + } + }; function openAdd() { setEditing(null); @@ -175,7 +181,7 @@ export default function DepartmentPage() { try { if (editing) { const {departmentId, ...updateData} = form; - await updateDepartmentApi(editing.departmentId, updateData); + await updateDepartmentApi(editing.departmentId, form as any); } else { await createDepartmentApi(form); } @@ -187,17 +193,6 @@ export default function DepartmentPage() { } } - async function handleDelete(id: string) { - if (!confirm("Delete this department?")) return; - - try { - await deleteDepartmentApi(id); - fetchDepartments(); - } catch (error) { - console.error(error); - } - } - return (
@@ -241,25 +236,19 @@ export default function DepartmentPage() {
-
+
- + Priority - + Name - - Status + + Status (Active) - - Para 1 - - - Facilities - - + Actions @@ -268,14 +257,14 @@ export default function DepartmentPage() { {loading ? ( - + ) : currentItems.length === 0 ? ( No departments found @@ -302,22 +291,17 @@ export default function DepartmentPage() { {dep.departmentId} - - - {dep.isActive ? "Active" : "Hidden"} - - - - -
- {truncate(dep.para1)} -
-
- - -
- {truncate(dep.facilities)} +
+ handleToggleStatus(dep)} + /> + + {dep.isActive ? "Active" : "Hidden"} +
@@ -340,15 +324,6 @@ export default function DepartmentPage() { > - -
@@ -469,7 +444,6 @@ export default function DepartmentPage() { placeholder="Services" /> - {/* Status and Priority at bottom to keep original UI flow */}