This commit is contained in:
Sabda Yagra 2026-01-22 14:28:34 +07:00
commit 2b8f7b724e
1 changed files with 25 additions and 13 deletions

View File

@ -68,7 +68,7 @@ export default function TaskTaTable() {
const [totalData, setTotalData] = React.useState<number>(1);
const [sorting, setSorting] = React.useState<SortingState>([]);
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(
[]
[],
);
const [columnVisibility, setColumnVisibility] =
React.useState<VisibilityState>({});
@ -81,7 +81,7 @@ export default function TaskTaTable() {
});
const [activeTab, setActiveTab] = React.useState<ActiveTab>(
isMabesApprover ? "mabes-koor" : "ta"
isMabesApprover ? "mabes-koor" : "ta",
);
const [statusFilter, setStatusFilter] = React.useState<number[]>([]);
const [dateFilter, setDateFilter] = React.useState("");
@ -91,6 +91,8 @@ export default function TaskTaTable() {
const [page, setPage] = React.useState(1);
const [totalPage, setTotalPage] = React.useState(1);
const KOOR_KURATOR_USER_ID = "464";
// ✅ columns based on tab
const columns = useTableColumns(activeTab);
@ -133,6 +135,8 @@ export default function TaskTaTable() {
activeTab,
]);
const isKoorKurator = String(userId) === KOOR_KURATOR_USER_ID;
async function fetchData() {
const formattedStartDate = dateFilter
? format(new Date(dateFilter), "yyyy-MM-dd")
@ -149,7 +153,7 @@ export default function TaskTaTable() {
filterByCode,
formattedStartDate,
"atensi-khusus",
statusFilter
statusFilter,
);
}
@ -161,7 +165,7 @@ export default function TaskTaTable() {
filterByCode,
formattedStartDate,
"tugas-harian",
statusFilter
statusFilter,
);
}
@ -173,21 +177,20 @@ export default function TaskTaTable() {
filterByCode,
formattedStartDate,
"atensi-khusus",
statusFilter
statusFilter,
);
}
// ✅ TAB BARU: khusus Mabes Approver
if (activeTab === "mabes-koor") {
// kalau bukan Mabes Approver, jangan fetch
if (!isMabesApprover) {
// hanya blok kalau BUKAN Mabes Approver DAN BUKAN Koor Kurator
if (!isMabesApprover && !isKoorKurator) {
setDataTable([]);
setTotalData(0);
setTotalPage(0);
return;
}
// NOTE: backend endpoint harus return tasks mabes -> koorkurator
res = await listTaskTa(
page - 1,
search,
@ -195,12 +198,20 @@ export default function TaskTaTable() {
filterByCode,
formattedStartDate,
"atensi-khusus",
statusFilter
statusFilter,
);
}
let contentData = res?.data?.data?.content || [];
// 🚫 TAB TA: SEMBUNYIKAN TASK MABES → KOOR
if (activeTab === "ta") {
contentData = contentData.filter((item: any) => {
const assignedUsers = String(item?.assignedToUsers || "");
return !assignedUsers.split(",").includes(KOOR_KURATOR_USER_ID);
});
}
// ⛔ blok task baru kalau upload belum selesai (fitur kamu)
const isUploadingTA =
localStorage.getItem("TA_UPLOAD_IN_PROGRESS") === "true";
@ -235,13 +246,14 @@ export default function TaskTaTable() {
// }
if (activeTab === "mabes-koor") {
contentData = contentData.filter((item: any) => {
const createdByLevel = item?.createdBy?.userLevel?.name || "";
const createdByLevel =
item?.createdBy?.userLevel?.name || item?.createdByLevelName || "";
const assignedUsers = String(item?.assignedToUsers || "");
return (
/MABES/i.test(createdByLevel) &&
assignedUsers.split(",").includes("464")
assignedUsers.split(",").includes(KOOR_KURATOR_USER_ID)
);
});
}
@ -270,7 +282,7 @@ export default function TaskTaTable() {
function handleStatusCheckboxChange(value: number) {
setStatusFilter((prev) =>
prev.includes(value) ? prev.filter((s) => s !== value) : [...prev, value]
prev.includes(value) ? prev.filter((s) => s !== value) : [...prev, value],
);
}
@ -463,7 +475,7 @@ export default function TaskTaTable() {
? null
: flexRender(
header.column.columnDef.header,
header.getContext()
header.getContext(),
)}
</TableHead>
))}