- Add defensive checks in cart store to handle missing/NaN unitPrice values
- Display '—' for items with invalid prices instead of NaN
- Fix design review page grid layout to align buttons at top of page
- Ensure buttons don't get pushed below images on review page
- Change warning to say 'approximate placement' instead of just 'placement'
- Add missing cartItemId, name, mockup, unitPrice, and preview URLs when adding design to cart
- Fixes NaN price display for designs added from approval page
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Parse designJson string to object before accessing front/back properties.
Prevents TypeError when rendering custom design items in cart.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Handle designJson as either string or object, parse if needed.
Prevents TypeError when accessing front/back properties.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
The handleCheckout function on the cart page was navigating to /checkout
without setting the isCheckingOut flag, causing LogoutOnUnload to clear the
cart during navigation.
Now sets the flag BEFORE navigating so LogoutOnUnload skips clearing the cart.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Clear cart when customer logs out
- Hide cart bag button for non-authenticated users (only show for logged-in customers)
- Fix dark mode text visibility in all form inputs (input/textarea/select elements)
Addresses user request: cart should clear on logout and only be accessible to logged-in customers.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Add colorNames utility with 80+ standard color names
- Map hex codes to human-readable names (Black, Navy, Red, Teal, etc)
- Display color names in product page (with hex tooltip for reference)
- Show selected color name below color swatches
- Update shopping cart to display color names instead of hex codes
- Admin color picker shows both name and hex code for clarity
Improves UX for customers who don't understand hex color codes.
Keeps hex codes for internal data and system tooltips.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Add guest checkout flow: customers can now complete orders without creating an account
- New /checkout page with login or guest options
- Guest form collects: full name, email, phone, address
- Orders track guest info via guestName and guestPhone fields
- Update cart message to reflect guest option
- Add "Admin login" link to customer login page for clear navigation
- Update checkout API to accept and store guest information
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>