diff --git a/app/[locale]/(admin)/admin/management-user/edit/[id]/page.tsx b/app/[locale]/(admin)/admin/management-user/edit/[id]/page.tsx index 0918c99..61ea2a6 100644 --- a/app/[locale]/(admin)/admin/management-user/edit/[id]/page.tsx +++ b/app/[locale]/(admin)/admin/management-user/edit/[id]/page.tsx @@ -124,18 +124,18 @@ interface RoleData { } const FormSchema = z.object({ - level: z.string({ - required_error: "Required", - }), + // level: z.string({ + // required_error: "Required", + // }), fullname: z.string({ required_error: "Required", }), username: z.string({ required_error: "Required", }), - role: z.string({ - required_error: "Required", - }), + // role: z.string({ + // required_error: "Required", + // }), // nrp: z.string({ // required_error: "Required", // }), @@ -170,7 +170,6 @@ export default function EditUserForm() { const MySwal = withReactContent(Swal); const levelName = getCookiesDecrypt("ulnae"); const [roleList, setRoleList] = useState([]); - const [userEducations, setUserEducations] = useState(); const [userSchools, setUserSchools] = useState(); const [userCompetencies, setUserCompetencies] = useState(); @@ -189,7 +188,6 @@ export default function EditUserForm() { const passwordVal = form.watch("password"); const confPasswordVal = form.watch("confirmPassword"); - const selectedRole = form.watch("role"); useEffect(() => { getDataAdditional(); @@ -198,12 +196,8 @@ export default function EditUserForm() { const initData = async () => { loading(); - - // 1️⃣ Ambil level dulu const levels = await initFetch(); console.log("LEVEL READY:", levels); - - // 2️⃣ Ambil user const response = await getUserById(String(id)); close(); @@ -225,8 +219,8 @@ export default function EditUserForm() { address: user.address ?? "", phoneNumber: user.phoneNumber ?? "", // nrp: user.identityNumber ?? "", - level: String(user.userLevelId), - role: String(user.userRoleId ?? ""), + // level: String(user.userLevelId), + // role: String(user.userRoleId ?? ""), password: "", confirmPassword: "", sns: [], @@ -281,7 +275,7 @@ export default function EditUserForm() { })); setRoleList(levelsArr); - return levelsArr; // ⬅️ PENTING + return levelsArr; }; async function getDataAdditional() { @@ -301,49 +295,6 @@ export default function EditUserForm() { return; } - const roles = - levelName == "MABES POLRI" - ? [ - { - id: "ADM-ID", - name: "Admin", - }, - { - id: "APP-ID", - name: "Approver", - }, - { - id: "CON-ID", - name: "Kontributor", - }, - { - id: "SPV-ID", - name: "Supervisor Feedback Center", - }, - { - id: "OPT-ID", - name: "Operator Feedback Center", - }, - { - id: "KKUR-ID", - name: "Koor Kurator", - }, - { - id: "KUR-ID", - name: "Kurator", - }, - ] - : [ - { - id: "APP-ID", - name: "Approver", - }, - { - id: "CON-ID", - name: "Kontributor", - }, - ]; - async function save(data: z.infer) { const req = { fullname: data.fullname, @@ -351,8 +302,8 @@ export default function EditUserForm() { email: data.email, address: data.address, phoneNumber: data.phoneNumber, - userLevelId: Number(data.level), - userRoleId: userRoleId, + // userLevelId: Number(data.level), + // userRoleId: userRoleId, }; // let req: any = { @@ -420,7 +371,7 @@ export default function EditUserForm() { className="space-y-6 bg-white p-10 w-full" >

Data User

- ( @@ -478,7 +429,7 @@ export default function EditUserForm() { )} - /> + /> */} { const [sorting, setSorting] = React.useState([]); const [columnFilters, setColumnFilters] = React.useState( - [] + [], ); const [columnVisibility, setColumnVisibility] = React.useState({}); @@ -44,7 +44,7 @@ const BannerListTable = () => { pageIndex: 0, pageSize: Number(showData), }); - const [getData, setGetData] = React.useState([]); + const [getData, setGetData] = React.useState([]); const dataChange = searchParams?.get("dataChange"); const [page, setPage] = React.useState(1); @@ -90,17 +90,38 @@ const BannerListTable = () => { }, [page, showData]); async function getListBanner() { - loading(); - let temp: any; + try { + loading(); - const response = await listBanner(); - const data = response?.data?.data?.content; - console.log("banner", data); - setGetData(data); + const response = await listBanner(); - close(); + const data = Array.isArray(response?.data?.data?.content) + ? response.data.data.content + : []; + + console.log("banner", data); + + setGetData(data); + } catch (error) { + console.error("Error fetching banner list:", error); + setGetData([]); + } finally { + close(); + } } + // async function getListBanner() { + // loading(); + // let temp: any; + + // const response = await listBanner(); + // const data = response?.data?.data?.content; + // console.log("banner", data); + // setGetData(data); + + // close(); + // } + return ( <> @@ -113,7 +134,7 @@ const BannerListTable = () => { ? null : flexRender( header.column.columnDef.header, - header.getContext() + header.getContext(), )} ))} diff --git a/app/[locale]/(admin)/admin/settings/banner/component/table.tsx b/app/[locale]/(admin)/admin/settings/banner/component/table.tsx index 408e046..b890670 100644 --- a/app/[locale]/(admin)/admin/settings/banner/component/table.tsx +++ b/app/[locale]/(admin)/admin/settings/banner/component/table.tsx @@ -35,7 +35,7 @@ const ContentListBanner = () => { const [totalData, setTotalData] = React.useState(1); const [sorting, setSorting] = React.useState([]); const [columnFilters, setColumnFilters] = React.useState( - [] + [], ); const [columnVisibility, setColumnVisibility] = React.useState({}); @@ -60,7 +60,7 @@ const ContentListBanner = () => { try { const res = await listDataMedia(0, "100", "", "", ""); const banners = res?.data?.data?.content?.filter( - (item: any) => item.isBanner + (item: any) => item.isBanner, ); setBannerCount(banners?.length || 0); @@ -117,31 +117,67 @@ const ContentListBanner = () => { async function fetchData() { try { loading(); + const res = await listDataMedia( page - 1, showData, searchQuery, categoryFilter?.sort().join(","), - statusFilter?.sort().join(",") + statusFilter?.sort().join(","), ); - const data = res?.data?.data; - const contentData = data?.content; + const rawData = res?.data?.data; + + const contentData = Array.isArray(rawData?.content) + ? rawData.content + : []; + contentData.forEach((item: any, index: number) => { item.no = (page - 1) * Number(showData) + index + 1; }); - console.log("contentData : ", data); - setData(contentData); - setTotalData(data?.totalElements); - setTotalPage(data?.totalPages); + setTotalData(rawData?.totalElements ?? 0); + setTotalPage(rawData?.totalPages ?? 1); + close(); } catch (error) { - console.error("Error fetching tasks:", error); + close(); + console.error("Error fetching banner data:", error); + setData([]); + setTotalData(0); + setTotalPage(1); } } + // async function fetchData() { + // try { + // loading(); + // const res = await listDataMedia( + // page - 1, + // showData, + // searchQuery, + // categoryFilter?.sort().join(","), + // statusFilter?.sort().join(",") + // ); + + // const data = res?.data?.data; + // const contentData = data?.content; + // contentData.forEach((item: any, index: number) => { + // item.no = (page - 1) * Number(showData) + index + 1; + // }); + + // console.log("contentData : ", data); + + // setData(contentData); + // setTotalData(data?.totalElements); + // setTotalPage(data?.totalPages); + // close(); + // } catch (error) { + // console.error("Error fetching tasks:", error); + // } + // } + React.useEffect(() => { getCategories(); }, []); @@ -176,7 +212,7 @@ const ContentListBanner = () => { const handleSelect = (id: number) => { setSelectedItems((prev) => - prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id] + prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id], ); }; diff --git a/app/[locale]/(admin)/admin/settings/tag/component/table.tsx b/app/[locale]/(admin)/admin/settings/tag/component/table.tsx index 2b7a87e..3916f57 100644 --- a/app/[locale]/(admin)/admin/settings/tag/component/table.tsx +++ b/app/[locale]/(admin)/admin/settings/tag/component/table.tsx @@ -40,7 +40,7 @@ const AdminTagTable = () => { const [totalData, setTotalData] = React.useState(1); const [sorting, setSorting] = React.useState([]); const [columnFilters, setColumnFilters] = React.useState( - [] + [], ); const [columnVisibility, setColumnVisibility] = React.useState({}); @@ -95,24 +95,33 @@ const AdminTagTable = () => { try { loading(); const response = await getTags(); - const data = response?.data?.data; + + const data = Array.isArray(response?.data?.data) + ? response.data.data + : []; + data.forEach((item: any, index: number) => { item.no = (page - 1) * 10 + index + 1; }); setDataTable(data); - setTotalData(data?.length); + setTotalData(data.length); setTotalPage(1); close(); } catch (error) { - console.error("Error fetching tasks:", error); + close(); + console.error("Error fetching tags:", error); + setDataTable([]); + setTotalData(0); } } return (
-

{t("tags", { defaultValue: "Tags" })}

+

+ {t("tags", { defaultValue: "Tags" })} +

@@ -126,7 +135,7 @@ const AdminTagTable = () => { ? null : flexRender( header.column.columnDef.header, - header.getContext() + header.getContext(), )} ))} @@ -134,8 +143,8 @@ const AdminTagTable = () => { ))} - {table.getRowModel().rows?.length ? ( - table.getRowModel().rows.map((row) => ( + {table?.getRowModel()?.rows?.length ? ( + table?.getRowModel()?.rows.map((row) => (