Samir Boulahtit
c87bdfa129
feat: add configurable currency locale and fix vendor JS init
Currency Locale Configuration:
- Add platform-level storefront settings (locale, currency)
- Create PlatformSettingsService with resolution chain:
vendor → AdminSetting → environment → hardcoded fallback
- Add storefront_locale nullable field to Vendor model
- Update shop routes to resolve and pass locale to templates
- Add window.SHOP_CONFIG for frontend JavaScript access
- Centralize formatPrice() in shop-layout.js using SHOP_CONFIG
- Remove local formatPrice functions from shop templates
Vendor JS Bug Fix:
- Fix vendorCode being null on all vendor pages
- Root cause: page components overriding init() without calling parent
- Add parent init call to 14 vendor JS files
- Add JS-013 architecture rule to prevent future regressions
- Validator now checks vendor JS files for parent init pattern
Files changed:
- New: app/services/platform_settings_service.py
- New: alembic/versions/s7a8b9c0d1e2_add_storefront_locale_to_vendors.py
- Modified: 14 vendor JS files, shop templates, validation scripts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 21:26:12 +01:00
..
2025-12-04 23:26:03 +01:00
2025-12-25 17:17:09 +01:00
2025-12-04 23:26:03 +01:00
2026-01-02 21:26:12 +01:00
2025-12-23 23:57:02 +01:00
2026-01-01 12:58:09 +01:00
2025-12-22 22:39:34 +01:00
2025-12-03 22:16:05 +01:00
2026-01-01 12:58:09 +01:00
2026-01-01 18:28:54 +01:00
2025-12-25 17:17:09 +01:00
2025-12-26 20:56:22 +01:00
2025-12-12 23:56:24 +01:00
2025-11-23 09:39:27 +01:00
2025-12-03 22:16:05 +01:00