[Build] feat(promo): add server validation preview system and savings badge
Published on May 14, 2026
# Diskon Anti-PHP: Membangun Sistem Validasi Promo Super Akurat!
Aku baru aja selesai
---
### Raw Commit Data
## GitHub Update
**Repository:** [MKWcorp/POS-DRW-Skincare](https://github.com/MKWcorp/POS-DRW-Skincare)
**Author:** MKWcorp
**Date:** 5/14/2026, 7:25:15 PM
**Commit:** [`0380f80`](https://github.com/MKWcorp/POS-DRW-Skincare/commit/0380f80fbdf4586343f9940922faa53d15e8d544)
### Commit Message
feat(promo): add server validation preview system and savings badge
- Add PromoPreviewRepository for server-side calculation
- Implement preview API integration (POST /api/pos/promos/apply)
- Add savings badge ('Hemat Rp X') to PromoPickerCard for eligible promos
- Implement server validation in checkout flow (non-blocking)
- Log PROMO_VALIDATION_MISMATCH if server vs local calculation differs >1 Rp
- Activity log support for promo validation discrepancies
- Preview feature: validates eligibility and calculates discount on server
---
_This story was imported from historical commits._