From c7eecd40c092edf246ea266e8562676871885ff0 Mon Sep 17 00:00:00 2001 From: Sabda Yagra Date: Mon, 6 Apr 2026 09:31:20 +0700 Subject: [PATCH] fix: all bugs and error --- .../admin/settings/banner/component/table.tsx | 85 ++++++++++++------- components/form/sign-up.tsx | 70 +++++++++++---- components/landing-page/navbar.tsx | 2 - vendor/ckeditor5/tsconfig.json | 2 +- 4 files changed, 110 insertions(+), 49 deletions(-) diff --git a/app/[locale]/(admin)/admin/settings/banner/component/table.tsx b/app/[locale]/(admin)/admin/settings/banner/component/table.tsx index b890670..273c3ce 100644 --- a/app/[locale]/(admin)/admin/settings/banner/component/table.tsx +++ b/app/[locale]/(admin)/admin/settings/banner/component/table.tsx @@ -25,6 +25,7 @@ import { useToast } from "@/components/ui/use-toast"; import CustomPagination from "@/components/table/custom-pagination"; import { listDataMedia } from "@/service/service/broadcast/broadcast"; import { setBanner } from "@/service/service/settings/settings"; +import { listArticles } from "@/service/landing/landing"; const ContentListBanner = () => { const router = useRouter(); @@ -64,7 +65,7 @@ const ContentListBanner = () => { ); setBannerCount(banners?.length || 0); - setBannerCount(data?.length || 0); + // setBannerCount(data?.length || 0); } catch (error) { console.error("Error fetching banner count:", error); } @@ -118,38 +119,43 @@ const ContentListBanner = () => { try { loading(); - const res = await listDataMedia( - page - 1, - showData, - searchQuery, - categoryFilter?.sort().join(","), - statusFilter?.sort().join(","), + const res = await listArticles( + page, + Number(showData), + 1, + undefined, + undefined, + "createdAt", + "", ); - const rawData = res?.data?.data; + console.log("RES ARTICLES:", res); - const contentData = Array.isArray(rawData?.content) - ? rawData.content - : []; + let articlesData: any[] = []; - contentData.forEach((item: any, index: number) => { - item.no = (page - 1) * Number(showData) + index + 1; - }); + if (res?.error) { + articlesData = []; + } else { + articlesData = res?.data?.data || []; + } + + const contentData = articlesData.map((item: any, index: number) => ({ + ...item, + no: (page - 1) * Number(showData) + index + 1, + smallThumbnailLink: item.thumbnailUrl, // penting + })); setData(contentData); - setTotalData(rawData?.totalElements ?? 0); - setTotalPage(rawData?.totalPages ?? 1); + setTotalData(contentData.length); + setTotalPage(1); // sementara kalau belum ada totalPages close(); } catch (error) { close(); console.error("Error fetching banner data:", error); setData([]); - setTotalData(0); - setTotalPage(1); } } - // async function fetchData() { // try { // loading(); @@ -210,20 +216,31 @@ const ContentListBanner = () => { } }; - const handleSelect = (id: number) => { + // const handleSelect = (id: number) => { + // setSelectedItems((prev) => + // prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id], + // ); + // }; + const handleSelect = (id: number, checked: boolean) => { setSelectedItems((prev) => - prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id], + checked ? [...prev, id] : prev.filter((item) => item !== id), ); }; - const handleSelectAll = () => { - if (selectedItems.length === data.length) { - setSelectedItems([]); - } else { + // const handleSelectAll = () => { + // if (selectedItems.length === data.length) { + // setSelectedItems([]); + // } else { + // setSelectedItems(data.map((item: any) => Number(item.id))); + // } + // }; + const handleSelectAll = (e: React.ChangeEvent) => { + if (e.target.checked) { setSelectedItems(data.map((item: any) => Number(item.id))); + } else { + setSelectedItems([]); } }; - const { toast } = useToast(); const handleBanner = async (ids: number[]) => { @@ -410,10 +427,15 @@ const ContentListBanner = () => { {/* Header select all + action */}
- 0} + onChange={handleSelectAll} + /> + {/* + /> */} Pilih Semua
{selectedItems.length > 0 && ( @@ -431,9 +453,14 @@ const ContentListBanner = () => { className="relative rounded-lg shadow-md overflow-hidden border border-gray-200" >
- handleSelect(item.id)} + /> */} + handleSelect(item.id, e.target.checked)} />
{/* Email */} - setEmail(e.target.value)} - /> + /> */} {/* Password */}
@@ -655,6 +655,25 @@ export default function SignUp() { {/* Jurnalis: Select Keanggotaan */} {role === "jurnalis" && (
+ {/* Nama Lengkap */} + setFullname(e.target.value)} + /> + + {/* Username (auto generated) */} + + + {/* Jenis Keanggotaan */} {/* Nomor Sertifikasi */} @@ -683,6 +696,29 @@ export default function SignUp() { value={certNumber} onChange={(e) => setCertNumber(e.target.value)} /> + + {/* Password */} +
+ setPassword(e.target.value)} + className="pr-10" + /> + +
)} diff --git a/components/landing-page/navbar.tsx b/components/landing-page/navbar.tsx index 8e7c007..71ca8e3 100644 --- a/components/landing-page/navbar.tsx +++ b/components/landing-page/navbar.tsx @@ -76,7 +76,6 @@ export default function Navbar() { const fullname = Cookies.get("ufne"); return ( -
)}
-
); } diff --git a/vendor/ckeditor5/tsconfig.json b/vendor/ckeditor5/tsconfig.json index 4cbebfd..1103070 100644 --- a/vendor/ckeditor5/tsconfig.json +++ b/vendor/ckeditor5/tsconfig.json @@ -14,7 +14,7 @@ "target": "es2019", "sourceMap": true, "allowJs": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "skipLibCheck": true }, "include": [