diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 01b4438..4a37f8a 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -37,7 +37,7 @@ - + diff --git a/app.config.js b/app.config.js index 372599a..e93d76c 100644 --- a/app.config.js +++ b/app.config.js @@ -34,7 +34,7 @@ export default { associatedDomains: [ "applinks:cld-dkr-hipmi-stg.wibudev.com", ], - buildNumber: "3", + buildNumber: "4", }, android: { diff --git a/app/(application)/(user)/event/[id]/confirmation.tsx b/app/(application)/(user)/event/[id]/confirmation.tsx index 7151fbf..3f70f92 100644 --- a/app/(application)/(user)/event/[id]/confirmation.tsx +++ b/app/(application)/(user)/event/[id]/confirmation.tsx @@ -9,7 +9,7 @@ import { TextCustom, ViewWrapper, } from "@/components"; -import { AccentColor, MainColor } from "@/constants/color-palet"; +import { MainColor } from "@/constants/color-palet"; import { useAuth } from "@/hooks/use-auth"; import { apiEventConfirmationAction, @@ -60,7 +60,7 @@ export default function UserEventConfirmation() { useFocusEffect( useCallback(() => { checkTokenAndDataParticipants() || console.log("Token is null"); - }, [token, id, user?.id]) + }, [token, id, user?.id]), ); const checkTokenAndDataParticipants = async () => { @@ -113,7 +113,7 @@ export default function UserEventConfirmation() { confirmationStart, confirmationEnd, null, - "[]" + "[]", ); // --- [4] Status waktu event (untuk pesan UI) --- @@ -218,9 +218,14 @@ export default function UserEventConfirmation() { if (isWithinConfirmationWindow) { if (konfirmasi === false) { return ( - - - + // + // + // + ); } return ( @@ -261,17 +266,15 @@ export default function UserEventConfirmation() { ( - // - // router.navigate("/(application)/(user)/event/create") - // } - // /> - // ), - }} + headerLeft: () => ( + router.navigate("/")} + /> + ), + }} /> {handlerReturn()} @@ -497,7 +500,6 @@ const UserNotParticipan_And_DuringEvent = ({ ); }; - // 🟡 ZONA ACARA BERLANGSUN // User sudah terdaftar & Event sedang berlangsung & user harus konfirmasi const UserParticipan_And_DuringEvent = ({ diff --git a/app/(application)/admin/_layout.tsx b/app/(application)/admin/_layout.tsx index 3e4da82..6749e9b 100644 --- a/app/(application)/admin/_layout.tsx +++ b/app/(application)/admin/_layout.tsx @@ -17,6 +17,7 @@ import { ICON_SIZE_XLARGE, } from "@/constants/constans-value"; import { useAuth } from "@/hooks/use-auth"; +import { useNotificationStore } from "@/hooks/use-notification-store"; import AdminNotificationBell from "@/screens/Admin/AdminNotificationBell"; import { adminListMenu, diff --git a/ios/HIPMIBadungConnect.xcodeproj/project.pbxproj b/ios/HIPMIBadungConnect.xcodeproj/project.pbxproj index 7784b2a..86618eb 100644 --- a/ios/HIPMIBadungConnect.xcodeproj/project.pbxproj +++ b/ios/HIPMIBadungConnect.xcodeproj/project.pbxproj @@ -184,6 +184,11 @@ 14B3DE54EE4049AEB1EADA6B /* Remove signature files (Xcode workaround) */, B4CF5E09DBB44A4FB9CB91B9 /* Remove signature files (Xcode workaround) */, C894BD25C8224984AAD73398 /* Remove signature files (Xcode workaround) */, + F0C608193824414E93E23BC7 /* Remove signature files (Xcode workaround) */, + A3E2EDBCFB514A6487E28BEC /* Remove signature files (Xcode workaround) */, + 0D62979D96BF4B99AB9FBE7C /* Remove signature files (Xcode workaround) */, + 49B80EF12BE8476C86534CEA /* Remove signature files (Xcode workaround) */, + 6218417B3C954EFF9B5F4853 /* Remove signature files (Xcode workaround) */, ); buildRules = ( ); @@ -1013,6 +1018,91 @@ rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; "; }; + F0C608193824414E93E23BC7 /* Remove signature files (Xcode workaround) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove signature files (Xcode workaround)"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = " + echo \"Remove signature files (Xcode workaround)\"; + rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; + "; + }; + A3E2EDBCFB514A6487E28BEC /* Remove signature files (Xcode workaround) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove signature files (Xcode workaround)"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = " + echo \"Remove signature files (Xcode workaround)\"; + rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; + "; + }; + 0D62979D96BF4B99AB9FBE7C /* Remove signature files (Xcode workaround) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove signature files (Xcode workaround)"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = " + echo \"Remove signature files (Xcode workaround)\"; + rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; + "; + }; + 49B80EF12BE8476C86534CEA /* Remove signature files (Xcode workaround) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove signature files (Xcode workaround)"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = " + echo \"Remove signature files (Xcode workaround)\"; + rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; + "; + }; + 6218417B3C954EFF9B5F4853 /* Remove signature files (Xcode workaround) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove signature files (Xcode workaround)"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = " + echo \"Remove signature files (Xcode workaround)\"; + rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\"; + "; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/ios/HIPMIBadungConnect/HIPMIBadungConnect.entitlements b/ios/HIPMIBadungConnect/HIPMIBadungConnect.entitlements index 7a318c4..f44aa40 100644 --- a/ios/HIPMIBadungConnect/HIPMIBadungConnect.entitlements +++ b/ios/HIPMIBadungConnect/HIPMIBadungConnect.entitlements @@ -6,7 +6,7 @@ development com.apple.developer.associated-domains - applinks:cld-dkr-staging-hipmi.wibudev.com + applinks:cld-dkr-hipmi-stg.wibudev.com \ No newline at end of file diff --git a/ios/HIPMIBadungConnect/Info.plist b/ios/HIPMIBadungConnect/Info.plist index f55aadf..4077bf2 100644 --- a/ios/HIPMIBadungConnect/Info.plist +++ b/ios/HIPMIBadungConnect/Info.plist @@ -39,7 +39,7 @@ CFBundleVersion - 3 + 4 ITSAppUsesNonExemptEncryption LSMinimumSystemVersion diff --git a/screens/Admin/AdminNotificationBell.tsx b/screens/Admin/AdminNotificationBell.tsx index 1666d72..eff5c97 100644 --- a/screens/Admin/AdminNotificationBell.tsx +++ b/screens/Admin/AdminNotificationBell.tsx @@ -4,10 +4,16 @@ import { ICON_SIZE_SMALL } from "@/constants/constans-value"; import { useNotificationStore } from "@/hooks/use-notification-store"; import { Ionicons } from "@expo/vector-icons"; import { router } from "expo-router"; +import { useEffect } from "react"; import { Text, View } from "react-native"; export default function AdminNotificationBell() { - const { unreadCount } = useNotificationStore(); + const { unreadCount, syncUnreadCount } = useNotificationStore(); + + useEffect(() => { + console.log("Syncing unread count"); + syncUnreadCount(); + }, [syncUnreadCount]); return ( diff --git a/screens/Admin/Event/ScreenEventDetail.tsx b/screens/Admin/Event/ScreenEventDetail.tsx index 6abb9f5..c7cbce6 100644 --- a/screens/Admin/Event/ScreenEventDetail.tsx +++ b/screens/Admin/Event/ScreenEventDetail.tsx @@ -1,5 +1,5 @@ /* eslint-disable react-hooks/exhaustive-deps */ -import { ActionIcon, AlertDefaultSystem } from "@/components"; +import { ActionIcon, AlertDefaultSystem, Spacing } from "@/components"; import { IconDot } from "@/components/_Icon/IconComponent"; import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle"; import AdminButtonReject from "@/components/_ShareComponent/Admin/ButtonReject"; @@ -16,6 +16,7 @@ import Toast from "react-native-toast-message"; import { BoxEventDetail } from "./BoxEventDetail"; import { EventDetailDrawer } from "./EventDetailDrawer"; import { EventDetailQRCode } from "./EventDetailQRCode"; +import { View } from "react-native"; export function Admin_ScreenEventDetail() { const { user } = useAuth(); @@ -24,7 +25,6 @@ export function Admin_ScreenEventDetail() { const [data, setData] = useState(null); const [loadData, setLoadData] = useState(false); - useFocusEffect( useCallback(() => { onLoadData(); @@ -135,7 +135,11 @@ export function Admin_ScreenEventDetail() { <> + // {footerComponent} + // + // } > @@ -146,6 +150,9 @@ export function Admin_ScreenEventDetail() { {(status === "publish" || status === "history") && ( )} + + {footerComponent} +