The discount listing now reflects the real, derived status of each discount instead of a raw active flag, so disabled, expired, and limit-reached discounts no longer show up as active.
Highlights
Accurate discount status in the listing
A discount that was disabled, past its end_at, or had reached its usage limit still displayed a green "active" icon in the listing, even though the edit screen and the cart validator already treated it as inactive. A new DiscountStatus enum (draft, scheduled, active, disabled, expired, limit_reached) and a derived status accessor on the Discount model now drive a badge column that shows the true state. Translations added for en, fr and es.
Bug Fixes
- fix(admin): show derived discount status in the listing by @mckenziearts in #566
Internal
- ci(types): fix npm publish by upgrading npm for OIDC trusted publishing by @mckenziearts in #531
Full Changelog: v2.9.0...v2.9.1