From 3571b6d2e280cd389a0ffa7e22889a8ae06151af Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Mon, 24 Nov 2025 14:42:39 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EC=9E=90=EA=B8=88=EC=9D=B4=EC=B2=B4,=20?= =?UTF-8?q?=EC=A7=80=EA=B8=89=EB=8C=80=ED=96=89=20=EC=9E=85=EA=B8=88?= =?UTF-8?q?=ED=99=95=EC=9D=B8=EC=84=9C=20BottomSheet=20=20useDownloadBotto?= =?UTF-8?q?mSheetOn2Store=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/model/fund-account/types.ts | 11 ++++++++++- .../ui/fund-account/detail/result-detail.tsx | 14 +++++++------- .../ui/fund-account/transfer-list-wrap.tsx | 12 +++++++++++- .../ui/payout/detail/payout-detail.tsx | 12 ++++++------ src/locales/en.json | 1 + src/locales/ko.json | 1 + 6 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/entities/additional-service/model/fund-account/types.ts b/src/entities/additional-service/model/fund-account/types.ts index 8a4b114..98c7d65 100644 --- a/src/entities/additional-service/model/fund-account/types.ts +++ b/src/entities/additional-service/model/fund-account/types.ts @@ -213,7 +213,16 @@ export interface ExtensionFundAccountBalanceParams { mid: string; }; export interface ExtensionFundAccountBalanceResponse { - balance: number; + status: boolean; + error?: { + root? : string; + errorKey?: string; + message?: string; + } + data?: { + balance?: number; + } + }; // 입금확인증 다운로드 diff --git a/src/entities/additional-service/ui/fund-account/detail/result-detail.tsx b/src/entities/additional-service/ui/fund-account/detail/result-detail.tsx index 67a578a..ffc5666 100644 --- a/src/entities/additional-service/ui/fund-account/detail/result-detail.tsx +++ b/src/entities/additional-service/ui/fund-account/detail/result-detail.tsx @@ -17,6 +17,7 @@ import { showAlert } from '@/widgets/show-alert'; import { snackBar } from '@/shared/lib'; import { DepositReceiptSample } from '@/entities/common/ui/deposit-receipt-sample'; import { DepositInfo } from '@/entities/transaction/model/types'; +import { useDownloadBottomSheetOn2Store } from '@/shared/model/store'; export interface FundAccountResultDetailProps { detailOn: boolean; @@ -31,10 +32,9 @@ export const FundAccountResultDetail = ({ tid }: FundAccountResultDetailProps) => { const { t } = useTranslation(); + const { downloadBottomSheetOn2, setDownloadBottomSheetOn2 } = useDownloadBottomSheetOn2Store(); const [detail, setDetail] = useState(); - - const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState(false); const [depositReceiptSampleOn, setDepositReceiptSampleOn] = useState(false); const { mutateAsync: extensionFundAccountResultDetail } = useExtensionFundAccountResultDetailMutation(); const { mutateAsync: extensionFundAccountDownlaodReceipt } = useExtensionFundAccountDownloadReceiptMutation(); @@ -57,7 +57,7 @@ export const FundAccountResultDetail = ({ }; const onClickToOpenDownloadBottomSheet = () => { - setDownloadBottomSheetOn(true); + setDownloadBottomSheetOn2(true); }; const onRequestDownload = ( @@ -200,17 +200,17 @@ export const FundAccountResultDetail = ({ - {!!downloadBottomSheetOn && + {!!downloadBottomSheetOn2 && } - { depositReceiptSampleOn && + {depositReceiptSampleOn && { mid: mid }; extensionFundAccountBalance(params).then((rs: ExtensionFundAccountBalanceResponse) => { - setBalance(rs.balance); + if (rs.status) { + if (!rs.data?.balance) { + setBalance(0); + } else { + setBalance(balance) + } + } else { + const errorMessage = rs.error?.message || t('additionalService.fundAccount.failRequestBalance'); + setBalance(0); + snackBar(errorMessage) + } }).catch((e: any) => { if (e.response?.data?.error?.message) { snackBar(e.response?.data?.error?.message); diff --git a/src/entities/additional-service/ui/payout/detail/payout-detail.tsx b/src/entities/additional-service/ui/payout/detail/payout-detail.tsx index 3cbb47c..f4a82c7 100644 --- a/src/entities/additional-service/ui/payout/detail/payout-detail.tsx +++ b/src/entities/additional-service/ui/payout/detail/payout-detail.tsx @@ -13,6 +13,7 @@ import { checkGrant } from '@/shared/lib/check-grant'; import { snackBar } from '@/shared/lib'; import { DepositReceiptSample } from '@/entities/common/ui/deposit-receipt-sample'; import { DepositInfo } from '@/entities/transaction/model/types'; +import { useDownloadBottomSheetOn2Store } from '@/shared/model/store'; export interface PayoutDetailProps { detailOn: boolean; @@ -30,10 +31,9 @@ export const PayoutDetail = ({ depositAmount }: PayoutDetailProps) => { const { t } = useTranslation(); - + const { downloadBottomSheetOn2, setDownloadBottomSheetOn2 } = useDownloadBottomSheetOn2Store(); const [detail, setDetail] = useState(); - const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState(false); const [depositReceiptSampleOn, setDepositReceiptSampleOn] = useState(false); const [depositReceiptData, setDepositReceiptData] = useState(); @@ -60,7 +60,7 @@ export const PayoutDetail = ({ showAlert(t('common.nopermission')); return; } - setDownloadBottomSheetOn(true); + setDownloadBottomSheetOn2(true); }; const onRequestDownload = ( @@ -208,10 +208,10 @@ export const PayoutDetail = ({ - {!!downloadBottomSheetOn && + {!!downloadBottomSheetOn2 &&