diff options
Diffstat (limited to 'src/components/transactions/TransactionDetail.js')
| -rw-r--r-- | src/components/transactions/TransactionDetail.js | 56 |
1 files changed, 51 insertions, 5 deletions
diff --git a/src/components/transactions/TransactionDetail.js b/src/components/transactions/TransactionDetail.js index 6d304d31..7659a321 100644 --- a/src/components/transactions/TransactionDetail.js +++ b/src/components/transactions/TransactionDetail.js @@ -1,13 +1,15 @@ +import { useState } from "react"; import DescriptionRow from "../elements/DescriptionRow"; +import Disclosure from "../elements/Disclosure"; -const CustomerSection = ({ address }) => { +const DetailAddress = ({ address }) => { const fullAddress = []; if (address?.street) fullAddress.push(address.street); if (address?.sub_district?.name) fullAddress.push(address.sub_district.name); if (address?.district?.name) fullAddress.push(address.district.name); if (address?.city?.name) fullAddress.push(address.city.name); return ( - <div className="px-4 pb-4 flex flex-col gap-y-4"> + <div className="p-4 flex flex-col gap-y-4"> <DescriptionRow label="Nama">{ address?.name }</DescriptionRow> <DescriptionRow label="Email">{ address?.email || '-' }</DescriptionRow> <DescriptionRow label="No Telepon">{ address?.mobile || '-' }</DescriptionRow> @@ -16,6 +18,50 @@ const CustomerSection = ({ address }) => { ); }; -export { - CustomerSection -};
\ No newline at end of file +const TransactionDetailAddress = ({ transaction }) => { + const [ activeSection, setActiveSection ] = useState({ + purchase: false, + shipping: false, + invoice: false, + }); + + const toggleSection = ( name ) => { + setActiveSection({ + ...activeSection, + [name]: !activeSection[name] + }); + }; + + return ( + <div className="m-4 rounded border border-gray_r-6 divide-y divide-gray_r-6"> + <Disclosure + label="Detail Pelanggan" + active={activeSection.purchase} + onClick={() => toggleSection('purchase')} + /> + { activeSection.purchase && ( + <DetailAddress address={transaction?.address?.customer} /> + ) } + + <Disclosure + label="Detail Pengiriman" + active={activeSection.shipping} + onClick={() => toggleSection('shipping')} + /> + { activeSection.shipping && ( + <DetailAddress address={transaction?.address?.shipping} /> + ) } + + <Disclosure + label="Detail Penagihan" + active={activeSection.invoice} + onClick={() => toggleSection('invoice')} + /> + { activeSection.invoice && ( + <DetailAddress address={transaction?.address?.invoice} /> + ) } + </div> + ); +}; + +export { TransactionDetailAddress };
\ No newline at end of file |
