From 69f7435d6ea2119061ee4b1be61b0200a04e9aba Mon Sep 17 00:00:00 2001 From: Rami Bitar Date: Sat, 1 Aug 2026 11:11:25 -0400 Subject: [PATCH] Redesign storefront to match minimal reference design Product cards, header, footer, PDP, and typography reworked toward a leaner layout; adds shop policy pages backed by the Storefront API. - Type: switch to Geist Sans/Mono, regular-weight headings - Product cards: drop borders, rounded corners, and action buttons - Header: shorter bar, no bottom border, center-out hover underline, bag icon replacing the cart icon (drawer wording updated to match) - Footer: single line with policy links and social icons on bg-background - Policies: /policies/[handle] renders shop.privacyPolicy, termsOfService, refundPolicy, shippingPolicy, subscriptionPolicy (SSG, hourly revalidation) - PDP: image grid with mobile carousel + dots and click-to-zoom, sticky info column, colour swatches from option optionValues with a configurable name-to-colour fallback in config/swatches.ts, Shop-purple checkout button - Recommendations: left-aligned heading on bg-background - Ignore .env*.local and tsconfig.tsbuildinfo Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016jWbNNJLksC1QG8z8845FX --- .gitignore | 2 + app/collections/[handle]/page.tsx | 3 - app/collections/page.tsx | 3 - app/globals.css | 77 ++++- app/layout.tsx | 23 +- app/page.tsx | 8 +- app/policies/[handle]/page.tsx | 65 ++++ app/products/[handle]/page.tsx | 14 +- app/shop/collections/page.tsx | 3 - components/shopify/cart-drawer.tsx | 8 +- components/shopify/footer.tsx | 136 +++----- components/shopify/header.tsx | 38 +-- components/shopify/product-card.tsx | 133 ++------ components/shopify/product-detail/index.tsx | 142 ++++---- .../product-detail/product-detail-gallery.tsx | 168 +++++++--- .../product-detail/product-detail-info.tsx | 307 +++++++++--------- .../shopify/product-recommendations.tsx | 63 ++-- components/shopify/products.tsx | 59 ++-- components/shopify/shop-pay-button.tsx | 150 +++++++++ components/shopify/shop-pay-logo.tsx | 50 +++ config/swatches.ts | 51 +++ graphql/policies.js | 43 +++ graphql/products.js | 22 ++ hooks/use-shopify-policies.ts | 60 ++++ hooks/use-shopify-products.ts | 20 +- 25 files changed, 1055 insertions(+), 593 deletions(-) create mode 100644 app/policies/[handle]/page.tsx create mode 100644 components/shopify/shop-pay-button.tsx create mode 100644 components/shopify/shop-pay-logo.tsx create mode 100644 config/swatches.ts create mode 100644 graphql/policies.js create mode 100644 hooks/use-shopify-policies.ts diff --git a/.gitignore b/.gitignore index f69c3e6..dc732bd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ node_modules/* .next next-env.d.ts .yarn/install-state.gz +.env*.local +tsconfig.tsbuildinfo diff --git a/app/collections/[handle]/page.tsx b/app/collections/[handle]/page.tsx index a2a3ba2..1ffd06d 100644 --- a/app/collections/[handle]/page.tsx +++ b/app/collections/[handle]/page.tsx @@ -16,10 +16,7 @@ export default function Page() {