- Shipped
- April 2, 2026 at 12:35 AM UTC
- Author
- Kamo
- Commit
- d651f25
Calculator page: - Split into server component + CalculatorClient - All plan prices, addon prices, bundle prices now from API - Promo code validation against live promotions (not hardcoded "250FF") - Correct discount types (FLAT_PER_SEAT, PERCENTAGE, FLAT_AMOUNT) Offer page: - Split into server component + OfferClient - Promotion details (code, discount, dates) fetched from API - Business plan pricing fetched from catalog API - Shows "offer expired" if promotion inactive or past end date PricingClient: - Dynamic annual savings badge (calculated from plan prices, not hardcoded 17%) - Removed hardcoded prices from FAQ answers - Added useMemo for savings calculation