Penerapan notifikasi di event

Add:
components/Button/BackButtonFromNotification.tsx
types/type-collect-other.ts

Fix:
- android/app/build.gradle
- app/(application)/(user)/_layout.tsx
- app/(application)/(user)/event/(tabs)/_layout.tsx
- app/(application)/(user)/event/(tabs)/status.tsx
- app/(application)/(user)/event/create.tsx
- app/(application)/(user)/job/(tabs)/_layout.tsx
- app/(application)/(user)/notifications/index.tsx
- app/(application)/admin/event/[id]/[status]/index.tsx
- app/(application)/admin/event/[id]/reject-input.tsx
- app/(application)/admin/notification/index.tsx
- components/Notification/NotificationInitializer.tsx
- hipmi-note.md
- hooks/use-notification-store.tsx
- screens/Admin/Event/funUpdateStatus.ts
- service/api-notifications.ts
- utils/formatChatTime.ts

### No Issue
This commit is contained in:
2026-01-13 17:41:30 +08:00
parent ca33dd83bb
commit 6e2046467f
18 changed files with 325 additions and 83 deletions

View File

@@ -15,21 +15,21 @@ export const formatChatTime = (date: string | Date): string => {
const messageDate = dayjs(date);
const now = dayjs();
// Jika hari ini
// Hari ini
if (messageDate.isSame(now, 'day')) {
return messageDate.format('HH:mm'); // contoh: "14.30"
return messageDate.format('HH.mm'); // "14.30"
}
// Jika kemarin
// Kemarin
if (messageDate.isSame(now.subtract(1, 'day'), 'day')) {
return messageDate.format('dddd HH:mm');
return `Kemarin, ${messageDate.format('HH.mm')}`; // "Kemarin, 14.30"
}
// Jika dalam 7 hari terakhir (tapi bukan kemarin/ hari ini)
// Dalam 7 hari terakhir (termasuk hari ini & kemarin sudah di-handle, jadi aman)
if (now.diff(messageDate, 'day') < 7) {
return messageDate.format('dddd HH:mm'); // contoh: "Senin 14:30"
return `${messageDate.format('dddd')}, ${messageDate.format('HH.mm')}`; // "Senin, 13.00"
}
// Lebih dari seminggu lalu → tampilkan tanggal
return messageDate.format('D MMM YYYY HH:mm'); // contoh: "12 Mei 2024 14:30"
};
// Lebih dari 7 hari lalu
return messageDate.format('DD - MM - YYYY, HH.mm'); // "05 - 11 - 2025, 14.00"
};