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
isVisible={openDrawer}
closeDrawer={() => setOpenDrawer(false)}
height={250}
height={"auto"}
>
<MenuDrawerDynamicGrid
data={menuDrawerPublishEvent({ id: id as string })}

View File

@@ -1,14 +1,15 @@
/* eslint-disable react-hooks/exhaustive-deps */
import {
AlertDefaultSystem,
BackButton,
ButtonCustom,
DotButton,
DrawerCustom,
LoaderCustom,
MenuDrawerDynamicGrid,
ViewWrapper,
} from "@/components";
import { IMenuDrawerItem } from "@/components/_Interface/types";
import CustomSkeleton from "@/components/_ShareComponent/SkeletonCustom";
import LeftButtonCustom from "@/components/Button/BackButton";
import { useAuth } from "@/hooks/use-auth";
import Event_BoxDetailPublishSection from "@/screens/Event/BoxDetailPublishSection";
@@ -18,6 +19,7 @@ import {
apiEventGetOne,
apiEventJoin,
} from "@/service/api-client/api-event";
import dayjs from "dayjs";
import {
router,
Stack,
@@ -34,7 +36,9 @@ export default function EventDetailPublish() {
const [isLoadingData, setIsLoadingData] = 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);
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 (
<>
<ButtonCustom
@@ -138,17 +152,17 @@ export default function EventDetailPublish() {
<Stack.Screen
options={{
title: `Event Publish`,
headerLeft: () => <LeftButtonCustom />,
headerLeft: () => <BackButton onPress={() => router.back()} />,
headerRight: () => <DotButton onPress={() => setOpenDrawer(true)} />,
}}
/>
<ViewWrapper>
{isLoadingData ? (
<LoaderCustom />
<CustomSkeleton height={400} />
) : (
<Event_BoxDetailPublishSection
data={data}
footerButton={footerButton()}
footerButton={FooterButton()}
/>
)}
</ViewWrapper>

View File

@@ -78,23 +78,6 @@ export default function EventCreate() {
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 {
setIsLoading(true);
@@ -110,7 +93,7 @@ export default function EventCreate() {
const response = await apiEventCreate(newData);
console.log("Response", JSON.stringify(response, null, 2));
router.replace("/event/status");
router.replace("/event/status?status=review");
} catch (error) {
console.log(error);
} finally {

View File

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