Add shop, cart, versand pages and Impulse & Tipps detail page
- New /shop overview, /cart (real cart state via useSyncExternalStore), /versand (shipping policy page with TOC) and /newsletter detail page - Cart: quantity/removal, order summary, related-products cross-sell with randomized picks, VersandModal quick-reference instead of navigating away, MwSt. disclosure next to unit prices - Add-to-cart UX: inline success feedback (green state) plus a fly-to-navbar-cart-icon animation (CartFlyProvider) with a delayed badge count-up; AddToCartButton no longer navigates straight to /cart - Shared lib/products.ts catalog and lib/shipping.ts constants (cost, free-shipping threshold, handling/transit days) so cart, trust badges and the versand page can never drift apart - Fix Navbar smooth-scroll easing (ease-out instead of ease-in-out, no more perceived start delay); compress newsletter modal photo 2.4MB -> 85KB to fix first-open jank
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
// Single source of truth for shipping numbers/timeframes — consumed by
|
||||
// both the cart's order summary (CartContent.tsx) and the /versand policy
|
||||
// page, so the two can never drift apart.
|
||||
export const SHIPPING_COST = 2.9;
|
||||
export const FREE_SHIPPING_THRESHOLD = 39;
|
||||
|
||||
// Kept as an explicit range (not "so schnell wie möglich") per Art. 246a
|
||||
// § 1 Abs. 1 Nr. 8 EGBGB — German law requires disclosing a concrete
|
||||
// delivery timeframe before contract conclusion, and split into
|
||||
// Bearbeitungszeit/Versanddauer so it's clear whether processing time is
|
||||
// included in the stated number, not just a single ambiguous figure.
|
||||
export const HANDLING_DAYS = { min: 1, max: 2 };
|
||||
export const TRANSIT_DAYS_DE = { min: 2, max: 4 };
|
||||
export const TOTAL_DAYS_DE = {
|
||||
min: HANDLING_DAYS.min + TRANSIT_DAYS_DE.min,
|
||||
max: HANDLING_DAYS.max + TRANSIT_DAYS_DE.max,
|
||||
};
|
||||
Reference in New Issue
Block a user