From 6b6d3cff0e40ee3e381e0865a57af72af806ff75 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Fri, 7 Nov 2025 16:23:49 +0900 Subject: [PATCH] bottomsheet --- .../ui/fund-account/detail/result-detail.tsx | 16 ++++--- .../ui/fund-account/result-list-wrap.tsx | 16 ++++--- .../ui/fund-account/transfer-list-wrap.tsx | 16 ++++--- .../link-payment-history-wrap.tsx | 16 ++++--- .../link-payment-wait-send-wrap.tsx | 16 ++++--- .../ui/payout/detail/payout-detail.tsx | 16 ++++--- src/entities/common/ui/email-bottom-sheet.tsx | 45 ++++++++++++++----- src/entities/settlement/ui/list-wrap.tsx | 4 +- .../transaction/ui/detail/escrow-detail.tsx | 16 ++++--- .../ui/section/amount-info-section.tsx | 25 +++++++++-- src/entities/vat-return/ui/list-wrap.tsx | 4 +- .../vat-return/ui/section/amount-section.tsx | 4 +- .../account-holder-auth-page.tsx | 10 ++--- .../account-holder-search-page.tsx | 12 ++--- .../additional-service/alimtalk/list-page.tsx | 11 +++-- .../additional-service/ars/list-page.tsx | 8 ++-- .../face-auth/face-auth-page.tsx | 10 ++--- .../key-in-payment/key-in-payment-page.tsx | 16 ++++--- .../additional-service/payout/list-page.tsx | 16 ++++--- .../sms-payment/sms-payment-page.tsx | 16 ++++--- .../transaction/all-transaction/list-page.tsx | 4 +- src/pages/transaction/billing/list-page.tsx | 4 +- .../transaction/cash-receipt/list-page.tsx | 4 +- src/pages/transaction/escrow/list-page.tsx | 4 +- 24 files changed, 185 insertions(+), 124 deletions(-) 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 e0caa6c..5a0bf80 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 @@ -178,13 +178,15 @@ export const FundAccountResultDetail = ({ - + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx index c645115..50af296 100644 --- a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx @@ -398,13 +398,15 @@ export const FundAccountResultListWrap = () => { mid={ detailMid } tid={ detailTid } > - + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx index 8c58106..f322184 100644 --- a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx @@ -364,13 +364,15 @@ export const FundAccountTransferListWrap = () => { setDetailOn={ setDetailOn } seq={ detailSeq } > - + { emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx index 4682b87..787d40b 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx @@ -310,13 +310,15 @@ export const LinkPaymentHistoryWrap = () => { requestId={detailRequestId} subReqId={detailSubReqId} > - + { emailBottomSheetOn && + + } ); } \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx index f9426eb..2fc2769 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx @@ -278,13 +278,15 @@ export const LinkPaymentWaitSendWrap = () => { mid={ detailMid } requestId={ detailRequestId } > - + { !!emailBottomSheetOn && + + } ); } \ No newline at end of file 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 6e462b0..13831a9 100644 --- a/src/entities/additional-service/ui/payout/detail/payout-detail.tsx +++ b/src/entities/additional-service/ui/payout/detail/payout-detail.tsx @@ -197,13 +197,15 @@ export const PayoutDetail = ({ setBottomSheetOn={setDownloadTypeBottomSheetOn} onSelectType={onSelectDownloadType} /> - + { !!emailBottomSheetOn && + + } ); diff --git a/src/entities/common/ui/email-bottom-sheet.tsx b/src/entities/common/ui/email-bottom-sheet.tsx index 6aaf9c4..84099fa 100644 --- a/src/entities/common/ui/email-bottom-sheet.tsx +++ b/src/entities/common/ui/email-bottom-sheet.tsx @@ -2,7 +2,7 @@ import { BottomSheetMotionDuration, BottomSheetMotionVaiants } from '@/entities/ import { IMAGE_ROOT } from '@/shared/constants/common'; import { useStore } from '@/shared/model/store'; import { motion } from 'framer-motion'; -import { ChangeEvent, useState } from 'react'; +import { ChangeEvent, useEffect, useState } from 'react'; import { toPng } from 'html-to-image'; import { snackBar } from '@/shared/lib'; import { useTranslation } from 'react-i18next'; @@ -10,22 +10,32 @@ import { useTranslation } from 'react-i18next'; export interface EmailBottomSheetProps { bottomSheetOn: boolean; setBottomSheetOn: (bottomSheetOn: boolean) => void; - imageSave: boolean; - sendEmail: boolean; + imageMode: boolean; + emailMode: boolean; sendRequest: (email?: string) => void; }; +export enum EmailBottomSheetSelectedMode { + IMAGE = 'IMAGE', + EMAIL = 'EMAIL' +}; export const EmailBottomSheet = ({ bottomSheetOn, setBottomSheetOn, - imageSave, - sendEmail, + imageMode, + emailMode, sendRequest }: EmailBottomSheetProps) => { const { t } = useTranslation(); const optionsEmails = useStore.getState().UserStore.selectOptionsEmails; const email = useStore.getState().UserStore.email; + const [userEmail, setUserEmail] = useState(email); + const [sheetImageMode, setSheetImageMode] = useState(imageMode); + const [sheetEmailMode, setSheetEmailMode] = useState(emailMode); + + const [selectedMode, setSelectedMode] = useState(); + const onClickToClose = () => { setBottomSheetOn(false); }; @@ -48,11 +58,23 @@ export const EmailBottomSheet = ({ }); }; const onDownloadImage = () => { - downloadImage(); + // downloadImage(); setTimeout(() => { onClickToClose(); }, 2000); }; + + useEffect(() => { + setSheetImageMode(imageMode); + setSheetEmailMode(emailMode); + + if(imageMode && !emailMode){ + setSelectedMode(EmailBottomSheetSelectedMode.IMAGE); + } + else if(!imageMode && emailMode){ + setSelectedMode(EmailBottomSheetSelectedMode.EMAIL); + } + }, [imageMode, emailMode]); return ( <> @@ -84,7 +106,7 @@ export const EmailBottomSheet = ({
- { !!imageSave && + { !!sheetImageMode &&
{t('common.imageSave')}
} - { !!sendEmail && + { !!sheetEmailMode && <>
@@ -111,7 +133,9 @@ export const EmailBottomSheet = ({
{t('common.receiveByEmail')}
- { optionsEmails && optionsEmails.length > 0 && + { selectedMode === EmailBottomSheetSelectedMode.EMAIL && + optionsEmails && + optionsEmails.length > 0 &&