From 9380754b157b447a47aed041087f64bf41f708d1 Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Wed, 4 Dec 2024 17:48:58 +0800 Subject: [PATCH] Fix beranda event --- src/app/api/event/get-all-by-userId/route.ts | 9 ++++ src/app_modules/event/main/beranda.tsx | 53 +++++++++++++------- 2 files changed, 44 insertions(+), 18 deletions(-) create mode 100644 src/app/api/event/get-all-by-userId/route.ts diff --git a/src/app/api/event/get-all-by-userId/route.ts b/src/app/api/event/get-all-by-userId/route.ts new file mode 100644 index 00000000..2ae65ce8 --- /dev/null +++ b/src/app/api/event/get-all-by-userId/route.ts @@ -0,0 +1,9 @@ +import { NextResponse } from "next/server"; + +export async function GET(params: Request) { + const { searchParams } = new URL(params.url); + const userId = searchParams.get("userId"); + + + return NextResponse.json({ userId }); +} \ No newline at end of file diff --git a/src/app_modules/event/main/beranda.tsx b/src/app_modules/event/main/beranda.tsx index 9a814ed8..3387a29b 100644 --- a/src/app_modules/event/main/beranda.tsx +++ b/src/app_modules/event/main/beranda.tsx @@ -5,7 +5,15 @@ import { RouterEvent } from "@/app/lib/router_hipmi/router_event"; import { AccentColor } from "@/app_modules/_global/color"; import ComponentGlobal_CreateButton from "@/app_modules/_global/component/button_create"; import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data"; -import { Affix, Box, Button, Center, Loader, rem } from "@mantine/core"; +import { + Affix, + Box, + Button, + Center, + Loader, + rem, + Skeleton, +} from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { useAtom } from "jotai"; import _ from "lodash"; @@ -20,7 +28,7 @@ export default function Event_Beranda({ }: { dataEvent: MODEL_EVENT[]; }) { - const [data, setData] = useState([]); + const [data, setData] = useState(null); const [activePage, setActivePage] = useState(1); const [isLoading, setIsLoading] = useState(false); @@ -31,23 +39,24 @@ export default function Event_Beranda({ const [isShowUpdate, setIsShowUpdate] = useState(false); useShallowEffect(() => { - onLoadData({ - onPublish(val) { - setData(val); - }, - }); - }, [setData]); + loadData(); + }, []); useShallowEffect(() => { if (isTriggerEventBeranda) { setIsShowUpdate(true); } - }, [isTriggerEventBeranda, setIsShowUpdate]); + }, [isTriggerEventBeranda]); - async function onLoadData({ onPublish }: { onPublish: (val: any) => void }) { + async function loadData() { + const loadData = await event_getListAllPublish({ page: 1 }); + setData(loadData as any); + } + + async function onLoadNewData() { setIsLoading(true); const loadData = await event_getListAllPublish({ page: 1 }); - onPublish(loadData); + setData(loadData as any); setIsShowUpdate(false); setIsTriggerEventBeranca(false); @@ -71,11 +80,7 @@ export default function Event_Beranda({ radius={"xl"} opacity={0.8} onClick={() => { - onLoadData({ - onPublish(val) { - setData(val); - }, - }); + onLoadNewData(); }} > Update beranda @@ -85,7 +90,19 @@ export default function Event_Beranda({ )} - {_.isEmpty(data) ? ( + + {data == null ? ( + Array.from({ length: 10 }).map((_, index) => ( + + )) + ) : _.isEmpty(data) ? ( ) : ( @@ -97,7 +114,7 @@ export default function Event_Beranda({ )} data={data} - setData={setData} + setData={setData as any} moreData={async () => { const loadData = await event_getListAllPublish({ page: activePage + 1,