Notifikasi join event

Fix:
modified:   app/(application)/(user)/event/[id]/history.tsx
        modified:   app/(application)/(user)/event/[id]/publish.tsx
        modified:   app/(application)/(user)/event/create.tsx
        modified:   app/(application)/(user)/notifications/index.tsx

### No Issue
This commit is contained in:
2026-01-15 13:54:14 +08:00
parent 9123e73606
commit 3b15871ad4
4 changed files with 23 additions and 26 deletions

View File

@@ -56,7 +56,7 @@ export default function EventDetailHistory() {
<DrawerCustom <DrawerCustom
isVisible={openDrawer} isVisible={openDrawer}
closeDrawer={() => setOpenDrawer(false)} closeDrawer={() => setOpenDrawer(false)}
height={250} height={"auto"}
> >
<MenuDrawerDynamicGrid <MenuDrawerDynamicGrid
data={menuDrawerPublishEvent({ id: id as string })} data={menuDrawerPublishEvent({ id: id as string })}

View File

@@ -1,14 +1,15 @@
/* eslint-disable react-hooks/exhaustive-deps */ /* eslint-disable react-hooks/exhaustive-deps */
import { import {
AlertDefaultSystem, AlertDefaultSystem,
BackButton,
ButtonCustom, ButtonCustom,
DotButton, DotButton,
DrawerCustom, DrawerCustom,
LoaderCustom,
MenuDrawerDynamicGrid, MenuDrawerDynamicGrid,
ViewWrapper, ViewWrapper,
} from "@/components"; } from "@/components";
import { IMenuDrawerItem } from "@/components/_Interface/types"; import { IMenuDrawerItem } from "@/components/_Interface/types";
import CustomSkeleton from "@/components/_ShareComponent/SkeletonCustom";
import LeftButtonCustom from "@/components/Button/BackButton"; import LeftButtonCustom from "@/components/Button/BackButton";
import { useAuth } from "@/hooks/use-auth"; import { useAuth } from "@/hooks/use-auth";
import Event_BoxDetailPublishSection from "@/screens/Event/BoxDetailPublishSection"; import Event_BoxDetailPublishSection from "@/screens/Event/BoxDetailPublishSection";
@@ -18,6 +19,7 @@ import {
apiEventGetOne, apiEventGetOne,
apiEventJoin, apiEventJoin,
} from "@/service/api-client/api-event"; } from "@/service/api-client/api-event";
import dayjs from "dayjs";
import { import {
router, router,
Stack, Stack,
@@ -34,7 +36,9 @@ export default function EventDetailPublish() {
const [isLoadingData, setIsLoadingData] = useState(false); const [isLoadingData, setIsLoadingData] = useState(false);
const [isLoadingJoin, setIsLoadingJoin] = useState(false); const [isLoadingJoin, setIsLoadingJoin] = useState(false);
const [data, setData] = useState(); const now = new Date().toISOString();
const [data, setData] = useState<any>();
const [isParticipant, setIsParticipant] = useState<boolean | null>(null); const [isParticipant, setIsParticipant] = useState<boolean | null>(null);
useFocusEffect( useFocusEffect(
@@ -108,7 +112,17 @@ export default function EventDetailPublish() {
} }
}; };
const footerButton = () => { if (
id &&
data &&
data?.tanggalSelesai &&
dayjs(data?.tanggalSelesai).isBefore(now)
) {
console.log("Event sudah selesai");
return router.replace(`/event/${id}/history`);
}
const FooterButton = () => {
return ( return (
<> <>
<ButtonCustom <ButtonCustom
@@ -138,17 +152,17 @@ export default function EventDetailPublish() {
<Stack.Screen <Stack.Screen
options={{ options={{
title: `Event Publish`, title: `Event Publish`,
headerLeft: () => <LeftButtonCustom />, headerLeft: () => <BackButton onPress={() => router.back()} />,
headerRight: () => <DotButton onPress={() => setOpenDrawer(true)} />, headerRight: () => <DotButton onPress={() => setOpenDrawer(true)} />,
}} }}
/> />
<ViewWrapper> <ViewWrapper>
{isLoadingData ? ( {isLoadingData ? (
<LoaderCustom /> <CustomSkeleton height={400} />
) : ( ) : (
<Event_BoxDetailPublishSection <Event_BoxDetailPublishSection
data={data} data={data}
footerButton={footerButton()} footerButton={FooterButton()}
/> />
)} )}
</ViewWrapper> </ViewWrapper>

View File

@@ -78,23 +78,6 @@ export default function EventCreate() {
return; return;
} }
// if (selectedDate) {
// console.log("Tanggal yang dipilih:", selectedDate);
// console.log(`ISO Format ${Platform.OS}:`, selectedDate.toString());
// // Kirim ke API atau proses lanjutan
// } else {
// console.log("Tanggal belum dipilih");
// }
// if (selectedEndDate) {
// console.log("Tanggal yang dipilih:", selectedEndDate);
// console.log(`ISO Format ${Platform.OS}:`, selectedEndDate.toString());
// // Kirim ke API atau proses lanjutan
// } else {
// console.log("Tanggal berakhir belum dipilih");
// }
try { try {
setIsLoading(true); setIsLoading(true);
@@ -110,7 +93,7 @@ export default function EventCreate() {
const response = await apiEventCreate(newData); const response = await apiEventCreate(newData);
console.log("Response", JSON.stringify(response, null, 2)); console.log("Response", JSON.stringify(response, null, 2));
router.replace("/event/status"); router.replace("/event/status?status=review");
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} finally { } finally {

View File

@@ -78,7 +78,7 @@ const BoxNotification = ({
categoryApp: data.kategoriApp, categoryApp: data.kategoriApp,
}); });
router.replace(newPath as any); router.navigate(newPath as any);
selectedCategory(activeCategory as string); selectedCategory(activeCategory as string);
if (!data.isRead) { if (!data.isRead) {