diff options
| author | trisusilo48 <tri.susilo@altama.co.id> | 2024-11-29 16:31:58 +0700 |
|---|---|---|
| committer | trisusilo48 <tri.susilo@altama.co.id> | 2024-11-29 16:31:58 +0700 |
| commit | ddb82d97f794d59d846aa9b7c3d1dd1eff9cb9a9 (patch) | |
| tree | 30cb8b1c382dbbbd93b0b16a484c15032c8d3823 /src-migrate/modules/cart | |
| parent | d324d01bb9413a023a158a7bd15ba36bb7beb9bc (diff) | |
ppn 12 persen
Diffstat (limited to 'src-migrate/modules/cart')
| -rw-r--r-- | src-migrate/modules/cart/components/Summary.tsx | 3 | ||||
| -rw-r--r-- | src-migrate/modules/cart/stores/useCartStore.ts | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src-migrate/modules/cart/components/Summary.tsx b/src-migrate/modules/cart/components/Summary.tsx index 2e55c8df..0af5ab18 100644 --- a/src-migrate/modules/cart/components/Summary.tsx +++ b/src-migrate/modules/cart/components/Summary.tsx @@ -25,6 +25,7 @@ const CartSummary = ({ grandTotal, isLoaded = false, }: Props) => { + const PPN : number = process.env.NEXT_PUBLIC_PPN ? parseFloat(process.env.NEXT_PUBLIC_PPN) : 0; return ( <> <div className='text-h-sm font-medium'>Ringkasan Pesanan</div> @@ -50,7 +51,7 @@ const CartSummary = ({ </Skeleton> <Skeleton isLoaded={isLoaded} className={style.line}> - <span className={style.label}>Tax 11%</span> + <span className={style.label}>Tax {((PPN - 1) * 100).toFixed(0)}%</span> <span className={style.value}>Rp {formatCurrency(tax || 0)}</span> </Skeleton> diff --git a/src-migrate/modules/cart/stores/useCartStore.ts b/src-migrate/modules/cart/stores/useCartStore.ts index c2ebf50f..e7d2cdd3 100644 --- a/src-migrate/modules/cart/stores/useCartStore.ts +++ b/src-migrate/modules/cart/stores/useCartStore.ts @@ -43,17 +43,20 @@ export const useCartStore = create<State & Action>((set, get) => ({ updateCartItem: (updatedCart) => { const cart = get().cart; if (!cart) return; - + set({ cart: updatedCart }); const summary = computeSummary(updatedCart); set({ summary }); }, - + })); const computeSummary = (cart: CartProps) => { let subtotal = 0; let discount = 0; + + const PPN: number = process.env.NEXT_PUBLIC_PPN ? parseFloat(process.env.NEXT_PUBLIC_PPN) : 0; + for (const item of cart?.products) { if (!item.selected) continue; @@ -67,8 +70,9 @@ const computeSummary = (cart: CartProps) => { discount += price - item.price.price_discount * item.quantity; } let total = subtotal - discount; - let tax = Math.round(total * 0.11); - let grandTotal = total + tax; + let grandTotal = total * PPN; + let tax = grandTotal - total; + // let grandTotal = total + tax; - return { subtotal, discount, total, tax, grandTotal }; + return { subtotal, discount, total, grandTotal, tax }; };
\ No newline at end of file |
