From f99685d69ad06dc685c26bc27e0a65c4091688b6 Mon Sep 17 00:00:00 2001 From: SriHarshaDamarla Date: Sat, 9 May 2026 16:19:40 +0530 Subject: [PATCH] update useBill reset value and calculator sum generic function --- src/hooks/useBill.ts | 4 ++-- src/utils/calculator.ts | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/hooks/useBill.ts b/src/hooks/useBill.ts index ebcb3f8..3fe0aeb 100644 --- a/src/hooks/useBill.ts +++ b/src/hooks/useBill.ts @@ -58,8 +58,8 @@ export function useBill() { title: "New Bill", currency: Currency.INR, createdAt: new Date(), - taxPercent: 18, - taxType: TaxType.GST, + taxPercent: 0, + taxType: TaxType.None, items: [], }); }, []); diff --git a/src/utils/calculator.ts b/src/utils/calculator.ts index db7896c..9d42345 100644 --- a/src/utils/calculator.ts +++ b/src/utils/calculator.ts @@ -14,12 +14,16 @@ export function computeItem(item: BillItem): ComputedBillItem { }; } +export function sumBy(items: T[], getValue: (item: T) => number): number { + return items.reduce((sum, currentItem) => sum + getValue(currentItem), 0); +} + export function computeBill(bill: Bill): ComputedBill { const computedItems = bill.items.map(computeItem); - const subtotal = computedItems.reduce( - (sum, item) => sum + item.finalPrice, - 0, + const subtotal = sumBy( + computedItems, + (computedItem) => computedItem.finalPrice, ); const taxAmount = (subtotal * bill.taxPercent) / 100;