From 5ca8921dae29504cf8cc65eb2adb983fa8ceb3ab Mon Sep 17 00:00:00 2001 From: greptile-bot Date: Wed, 19 Aug 2026 10:08:24 -0400 Subject: [PATCH 1/4] Support stacking multiple discount codes --- src/discounts.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/discounts.ts diff --git a/src/discounts.ts b/src/discounts.ts new file mode 100644 index 0000000..8c9e896 --- /dev/null +++ b/src/discounts.ts @@ -0,0 +1,10 @@ +import type { Discount } from './cart' + +/** Combine multiple discount codes into one effective factor. */ +export function applyDiscounts(subtotalCents: number, discounts: Discount[]): number { + let totalPercentOff = 0 + for (const discount of discounts) { + totalPercentOff += discount.percentOff + } + return Math.round(subtotalCents * (1 - totalPercentOff / 100)) +} -- 2.54.0 From 1c19cbb920d6c9c1f8e74d25a450a9b798ad5a2b Mon Sep 17 00:00:00 2001 From: greptile-bot Date: Wed, 19 Aug 2026 10:14:28 -0400 Subject: [PATCH 2/4] Trigger review -- 2.54.0 From b3e1e3ce0aea39fcce59f2b55917c3256fec491e Mon Sep 17 00:00:00 2001 From: greptile-bot Date: Wed, 19 Aug 2026 10:20:01 -0400 Subject: [PATCH 3/4] Trigger review after enablement -- 2.54.0 From 30d6ba110067e075d3717dbd9d1c93aaeff708f2 Mon Sep 17 00:00:00 2001 From: greptile-bot Date: Wed, 19 Aug 2026 10:25:27 -0400 Subject: [PATCH 4/4] Trigger review with entitlement granted -- 2.54.0