From 7cb48133e5aec8426f6a00fee60b8a545054fe17 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Fri, 12 Sep 2025 15:56:33 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=84=ED=8A=BC=EA=B7=B8=EB=A3=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transaction/ui/filter/billing-filter.tsx | 113 +++++++----------- src/shared/ui/assets/css/style-fix.css | 4 +- src/shared/ui/filter/button-groups.tsx | 53 ++++++++ 3 files changed, 96 insertions(+), 74 deletions(-) create mode 100644 src/shared/ui/filter/button-groups.tsx diff --git a/src/entities/transaction/ui/filter/billing-filter.tsx b/src/entities/transaction/ui/filter/billing-filter.tsx index 2ccc96a..4ac70c0 100644 --- a/src/entities/transaction/ui/filter/billing-filter.tsx +++ b/src/entities/transaction/ui/filter/billing-filter.tsx @@ -11,6 +11,7 @@ import { } from '../../model/types'; import { FilterDateOptions } from '@/entities/common/model/types'; import { FilterCalendar } from '@/shared/ui/filter/filter-calendar'; +import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; export const BillingFilter = ({ filterOn, @@ -102,6 +103,24 @@ export const BillingFilter = ({ setProcessResult(filterProcessResult); setPaymentMethod(filterPaymentMethod); }; + + let requestStatusBtnGroup = [ + {name: '전체', value: BillingRequestStatus.ALL}, + {name: '진행중', value: BillingRequestStatus.IN_PROGRESS}, + {name: '성공', value: BillingRequestStatus.SUCCESS}, + {name: '요청취소', value: BillingRequestStatus.REQUEST_CANCEL}, + ]; + let processResultBtnGroup = [ + {name: '전체', value: BillingProcessResult.ALL}, + {name: '성공', value: BillingProcessResult.SUCCESS}, + {name: '실패', value: BillingProcessResult.FAILURE}, + ]; + let paymentMethodBtnGroup = [ + {name: '전체', value: BillingPaymentMethod.ALL}, + {name: '신용카드', value: BillingPaymentMethod.CREDIT_CARD}, + {name: '가상계좌', value: BillingPaymentMethod.VIRTUAL_ACCOUNT}, + {name: '휴대폰', value: BillingPaymentMethod.MOBILE_PAYMENT}, + ]; return ( <> -
+
가맹점
@@ -169,78 +188,26 @@ export const BillingFilter = ({ setStartDate={ setFilterStartDate } setEndDate={ setFilterEndDate } > -
-
요청상태
-
-
- setFilterRequestStatus(BillingRequestStatus.ALL) } - >전체 - setFilterRequestStatus(BillingRequestStatus.IN_PROGRESS) } - >진행중 - setFilterRequestStatus(BillingRequestStatus.SUCCESS) } - >성공 - setFilterRequestStatus(BillingRequestStatus.REQUEST_CANCEL) } - >요청취소 -
-
-
- -
-
처리결과
-
-
- setFilterProcessResult(BillingProcessResult.ALL) } - >전체 - setFilterProcessResult(BillingProcessResult.SUCCESS) } - >성공 - setFilterProcessResult(BillingProcessResult.FAILURE) } - >실패 - -
-
-
- -
-
결제수단
-
-
- setFilterPaymentMethod(BillingPaymentMethod.ALL) } - >전체 - setFilterPaymentMethod(BillingPaymentMethod.CREDIT_CARD) } - >신용카드 - setFilterPaymentMethod(BillingPaymentMethod.VIRTUAL_ACCOUNT) } - >가상계좌 - setFilterPaymentMethod(BillingPaymentMethod.MOBILE_PAYMENT) } - >휴대폰 -
-
-
- + + + + +
거래금액
diff --git a/src/shared/ui/assets/css/style-fix.css b/src/shared/ui/assets/css/style-fix.css index ed38e09..d2ba176 100644 --- a/src/shared/ui/assets/css/style-fix.css +++ b/src/shared/ui/assets/css/style-fix.css @@ -29,4 +29,6 @@ main { .kv-list{ padding-bottom: 20px; z-index: 10; -} \ No newline at end of file +} + +/* calendar */ diff --git a/src/shared/ui/filter/button-groups.tsx b/src/shared/ui/filter/button-groups.tsx new file mode 100644 index 0000000..c525eaa --- /dev/null +++ b/src/shared/ui/filter/button-groups.tsx @@ -0,0 +1,53 @@ +interface FilterButtonGroupsProps { + title: string; + activeValue?: string; + btnGroups?: Array + setter: any; +}; +interface ButtonItemProp { + name?: string; + value?: string; +}; +export const FilterButtonGroups = ({ + title, + activeValue, + btnGroups, + setter, +}: FilterButtonGroupsProps) => { + + const getBtns = () => { + let rs = []; + if(!!btnGroups && btnGroups.length > 0){ + let emptySpanCnt = 4 % btnGroups.length; + for(let i=0;i setter(btnGroups[i]?.value) } + >{ btnGroups[i]?.name } + ) + } + for(let i=0;i + ); + } + } + return rs; + }; + return ( + <> +
+
{ title }
+
+
+ { getBtns() } +
+
+
+ + ); +}; \ No newline at end of file