From 0077e22717f35c36e8b5d7b21c3c3c38610a37af Mon Sep 17 00:00:00 2001 From: Sabda Yagra Date: Tue, 7 Oct 2025 12:10:34 +0700 Subject: [PATCH] fix: sidebar --- .../management-user-internal-table.tsx | 48 ++- lib/menus.ts | 376 ++++++++++-------- service/management-user/management-user.ts | 23 ++ 3 files changed, 265 insertions(+), 182 deletions(-) diff --git a/components/table/management-user/management-user-internal-table.tsx b/components/table/management-user/management-user-internal-table.tsx index 1eab1cc..84293e6 100644 --- a/components/table/management-user/management-user-internal-table.tsx +++ b/components/table/management-user/management-user-internal-table.tsx @@ -15,7 +15,6 @@ import { useReactTable, } from "@tanstack/react-table"; import { Button } from "@/components/ui/button"; - import { Table, TableBody, @@ -46,7 +45,9 @@ import { import { Checkbox } from "@/components/ui/checkbox"; import { close, loading } from "@/config/swal"; import { Link, useRouter } from "@/i18n/routing"; -import { AdministrationUserList } from "@/service/service/management-user/management-user"; +import { getAllUsers } from "@/service/management-user/management-user"; + +// ✅ Import service baru dari Swagger const UserInternalTable = () => { const router = useRouter(); @@ -69,11 +70,11 @@ const UserInternalTable = () => { pageSize: Number(showData), }); const [search, setSearch] = React.useState(""); - const [categoryFilter, setCategoryFilter] = React.useState([]); const [statusFilter, setStatusFilter] = React.useState([]); const [page, setPage] = React.useState(1); const [totalPage, setTotalPage] = React.useState(1); + const table = useReactTable({ data: dataTable, columns, @@ -131,31 +132,41 @@ const UserInternalTable = () => { }); }, [page, showData]); + // === 🔥 Implementasi service getAllUsers dari Swagger === async function fetchData() { try { loading(); - const res = await AdministrationUserList( - String(levelId), - page - 1, - search, - showData, - "1", - statusFilter?.sort().join(",") - ); - const data = res?.data?.data; - const contentData = data?.content ?? []; + + const res = await getAllUsers({ + count: 1, + limit: Number(showData), + nextPage: page + 1, + page: page, + previousPage: page - 1, + sort: "desc", + sortBy: "id", + totalPage: 10, + }); + + const data = res?.data; + const contentData = Array.isArray(data) + ? data + : data?.content || data?.items || []; + + // Tambahkan nomor urut contentData.forEach((item: any, index: number) => { item.no = (page - 1) * Number(showData) + index + 1; }); - console.log("contentData : ", contentData); + console.log("📦 contentData:", contentData); setDataTable(contentData); - setTotalData(data?.totalElements ?? 0); - setTotalPage(data?.totalPages ?? 0); + setTotalData(data?.totalElements ?? contentData.length ?? 0); + setTotalPage(data?.totalPages ?? 1); close(); } catch (error) { - console.error("Error fetching tasks:", error); + console.error("❌ Error fetching users:", error); + close(); } } @@ -336,6 +347,8 @@ const UserInternalTable = () => { + + {/* === TABLE === */} {table.getHeaderGroups().map((headerGroup) => ( @@ -377,6 +390,7 @@ const UserInternalTable = () => { )}
+