From 07e64c335e67fb002e6c9e22519ef96c7696533c Mon Sep 17 00:00:00 2001 From: bagasbanuna Date: Fri, 23 Jan 2026 17:13:06 +0800 Subject: [PATCH] =?UTF-8?q?Donation=20=E2=80=93=20App=20&=20Admin=20-=20ap?= =?UTF-8?q?p/(application)/(user)/donation/(tabs)/status.tsx=20-=20app/(ap?= =?UTF-8?q?plication)/(user)/donation/create-story.tsx=20-=20app/(applicat?= =?UTF-8?q?ion)/admin/donation/[id]/[status]/transaction-detail.tsx=20-=20?= =?UTF-8?q?app/(application)/admin/donation/[id]/reject-input.tsx=20-=20sc?= =?UTF-8?q?reens/Admin/Donation/funDonationUpdateStatus.ts=20-=20service/a?= =?UTF-8?q?pi-admin/api-admin-donation.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Config - app.config.js - ios/HIPMIBadungConnect/Info.plist ### No Issue --- app.config.js | 2 +- .../(user)/donation/(tabs)/status.tsx | 8 ++++--- .../(user)/donation/create-story.tsx | 2 +- .../[id]/[status]/transaction-detail.tsx | 22 +++++++++++++---- .../admin/donation/[id]/reject-input.tsx | 24 ++++++++++++++----- ios/HIPMIBadungConnect/Info.plist | 2 +- .../Admin/Donation/funDonationUpdateStatus.ts | 3 ++- service/api-admin/api-admin-donation.ts | 3 ++- 8 files changed, 47 insertions(+), 19 deletions(-) diff --git a/app.config.js b/app.config.js index 96c5cae..6400171 100644 --- a/app.config.js +++ b/app.config.js @@ -21,7 +21,7 @@ export default { "Aplikasi membutuhkan akses lokasi untuk menampilkan peta.", }, associatedDomains: ["applinks:cld-dkr-staging-hipmi.wibudev.com"], - buildNumber: "19", + buildNumber: "20", }, android: { diff --git a/app/(application)/(user)/donation/(tabs)/status.tsx b/app/(application)/(user)/donation/(tabs)/status.tsx index a10575d..b5971b2 100644 --- a/app/(application)/(user)/donation/(tabs)/status.tsx +++ b/app/(application)/(user)/donation/(tabs)/status.tsx @@ -9,14 +9,16 @@ import { useAuth } from "@/hooks/use-auth"; import { dummyMasterStatus } from "@/lib/dummy-data/_master/status"; import Donasi_BoxStatus from "@/screens/Donation/BoxStatus"; import { apiDonationGetByStatus } from "@/service/api-client/api-donation"; -import { useFocusEffect } from "expo-router"; +import { useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; export default function DonationStatus() { const { user } = useAuth(); + const { status } = useLocalSearchParams<{ status?: string }>(); + const [activeCategory, setActiveCategory] = useState( - "publish" + status || "publish", ); const [listData, setListData] = useState(null); const [loadList, setLoadList] = useState(false); @@ -24,7 +26,7 @@ export default function DonationStatus() { useFocusEffect( useCallback(() => { onLoadList(); - }, [activeCategory]) + }, [activeCategory]), ); const onLoadList = async () => { diff --git a/app/(application)/(user)/donation/create-story.tsx b/app/(application)/(user)/donation/create-story.tsx index 35c3148..b802eb3 100644 --- a/app/(application)/(user)/donation/create-story.tsx +++ b/app/(application)/(user)/donation/create-story.tsx @@ -103,7 +103,7 @@ export default function DonationCreateStory() { type: "success", text1: "Donasi berhasil disimpan", }); - router.replace("/donation/status"); + router.replace("/donation/status?status=review"); } catch (error) { console.log("[ERROR]", error); } finally { diff --git a/app/(application)/admin/donation/[id]/[status]/transaction-detail.tsx b/app/(application)/admin/donation/[id]/[status]/transaction-detail.tsx index bf9f3cc..388d704 100644 --- a/app/(application)/admin/donation/[id]/[status]/transaction-detail.tsx +++ b/app/(application)/admin/donation/[id]/[status]/transaction-detail.tsx @@ -1,4 +1,5 @@ import { + AlertDefaultSystem, BadgeCustom, BaseBox, BoxButtonOnFooter, @@ -9,6 +10,7 @@ import { } from "@/components"; import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle"; import { GridSpan_4_8 } from "@/components/_ShareComponent/GridSpan_4_8"; +import { useAuth } from "@/hooks/use-auth"; import { apiAdminDonationInvoiceDetailById, apiAdminDonationInvoiceUpdateById, @@ -22,6 +24,7 @@ import { useCallback, useState } from "react"; import Toast from "react-native-toast-message"; export default function AdminDonasiTransactionDetail() { + const { user } = useAuth(); const { id, status } = useLocalSearchParams(); console.log("[STATUS]", id, status); @@ -33,7 +36,7 @@ export default function AdminDonasiTransactionDetail() { onLoadData(); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [id]) + }, [id]), ); const onLoadData = async () => { @@ -57,6 +60,7 @@ export default function AdminDonasiTransactionDetail() { const newData = { donationId: data?.donasiId, nominal: data?.nominal, + senderId: user?.id, }; const response = await apiAdminDonationInvoiceUpdateById({ @@ -97,7 +101,15 @@ export default function AdminDonasiTransactionDetail() { { - handlerSubmit(); + AlertDefaultSystem({ + title: "Konfirmasi transaksi", + message: "Apakah anda yakin ingin menyetujui transaksi ini?", + textLeft: "Tidak", + textRight: "Ya", + onPressRight: () => { + handlerSubmit(); + }, + }); }} > Terima donasi @@ -109,7 +121,7 @@ export default function AdminDonasiTransactionDetail() { return ( - {data?.DonasiMaster_StatusInvoice?.name} + {data?.DonasiMaster_StatusInvoice?.name} ); @@ -140,7 +152,7 @@ export default function AdminDonasiTransactionDetail() { })} > {_.startCase( - (data?.DonasiMaster_StatusInvoice?.name as any) || "-" + (data?.DonasiMaster_StatusInvoice?.name as any) || "-", )} )) || @@ -157,7 +169,7 @@ export default function AdminDonasiTransactionDetail() { router.push( - `/(application)/(image)/preview-image/${data?.imageId}` + `/(application)/(image)/preview-image/${data?.imageId}`, ) } > diff --git a/app/(application)/admin/donation/[id]/reject-input.tsx b/app/(application)/admin/donation/[id]/reject-input.tsx index 14ea124..a0b0c5f 100644 --- a/app/(application)/admin/donation/[id]/reject-input.tsx +++ b/app/(application)/admin/donation/[id]/reject-input.tsx @@ -7,15 +7,15 @@ import { } from "@/components"; import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle"; import AdminButtonReject from "@/components/_ShareComponent/Admin/ButtonReject"; +import { useAuth } from "@/hooks/use-auth"; import { funUpdateStatusDonation } from "@/screens/Admin/Donation/funDonationUpdateStatus"; -import { - apiAdminDonationDetailById -} from "@/service/api-admin/api-admin-donation"; +import { apiAdminDonationDetailById } from "@/service/api-admin/api-admin-donation"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import React from "react"; import Toast from "react-native-toast-message"; export default function AdminDonationRejectInput() { + const { user } = useAuth(); const { id, status } = useLocalSearchParams(); const [data, setData] = React.useState(null); @@ -24,7 +24,7 @@ export default function AdminDonationRejectInput() { useFocusEffect( React.useCallback(() => { onLoadData(); - }, [id]) + }, [id]), ); const onLoadData = async () => { @@ -48,11 +48,23 @@ export default function AdminDonationRejectInput() { changeStatus: "publish" | "review" | "reject"; }) => { try { + if (!user?.id) { + Toast.show({ + type: "error", + text1: "User tidak ditemukan", + }); + + return; + } + setIsLoading(true); const response = await funUpdateStatusDonation({ id: id as string, changeStatus, - data: data, + data: { + senderId: user?.id as string, + catatan: data, + }, }); if (!response.success) { @@ -61,7 +73,7 @@ export default function AdminDonationRejectInput() { text1: "Report gagal", }); - return + return; } Toast.show({ diff --git a/ios/HIPMIBadungConnect/Info.plist b/ios/HIPMIBadungConnect/Info.plist index fb21b5a..8c55873 100644 --- a/ios/HIPMIBadungConnect/Info.plist +++ b/ios/HIPMIBadungConnect/Info.plist @@ -39,7 +39,7 @@ CFBundleVersion - 19 + 20 ITSAppUsesNonExemptEncryption LSMinimumSystemVersion diff --git a/screens/Admin/Donation/funDonationUpdateStatus.ts b/screens/Admin/Donation/funDonationUpdateStatus.ts index 9438baa..0bb451d 100644 --- a/screens/Admin/Donation/funDonationUpdateStatus.ts +++ b/screens/Admin/Donation/funDonationUpdateStatus.ts @@ -1,4 +1,5 @@ import { apiAdminDonationUpdateStatus } from "@/service/api-admin/api-admin-donation"; +import { typeRejectedData } from "@/types/type-collect-other"; export const funUpdateStatusDonation = async ({ id, @@ -7,7 +8,7 @@ export const funUpdateStatusDonation = async ({ }: { id: string; changeStatus: "publish" | "review" | "reject"; - data?: string; + data?: typeRejectedData; }) => { try { const response = await apiAdminDonationUpdateStatus({ diff --git a/service/api-admin/api-admin-donation.ts b/service/api-admin/api-admin-donation.ts index ebd6e9c..18490b1 100644 --- a/service/api-admin/api-admin-donation.ts +++ b/service/api-admin/api-admin-donation.ts @@ -1,3 +1,4 @@ +import { typeRejectedData } from "@/types/type-collect-other"; import { apiConfig } from "../api-config"; export async function apiAdminDonation({ @@ -33,7 +34,7 @@ export async function apiAdminDonationUpdateStatus({ }: { id: string; changeStatus: "publish" | "review" | "reject"; - data?: string; + data?: typeRejectedData; }) { try { const response = await apiConfig.put(