From e04f1e0405984c476d2ab355d8fd64e4e78b91e3 Mon Sep 17 00:00:00 2001 From: Rami Bitar Date: Sat, 1 Aug 2026 12:05:57 -0400 Subject: [PATCH] Redesign cart and collections, fix product pagination MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cart drawer: single-column layout matching the site — no bag icon, no dividers, square images, tighter type, discount code form, estimated total, and a Go to Checkout button - Cart: per-line loading state so one row's update no longer disables every other row or the checkout button - Discounts: cartDiscountCodesUpdate mutation plus discountCodes on the cart fragment, wired to an applyDiscountCode store action - Products: fix "load more" returning the same first page — the query now takes an `after` cursor and getProductsPage exposes pageInfo - Collections: cards match the product cards (no border, radius, blurb, or CTA row) at 4-up on desktop and 2-up on mobile; section headers match the products section - Shop Pay: cart permalink with payment=shop_pay instead of the hosted shop-js element - Buttons converted to the shadcn Button component throughout - PDP: swipeable image carousel with dots on mobile, sticky info column, colour swatches never fall back to variant photos - Rename the store from Stride to Shop; larger header wordmark Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016jWbNNJLksC1QG8z8845FX --- app/collections/[handle]/page.tsx | 6 +- app/collections/page.tsx | 6 +- app/page.tsx | 6 +- app/policies/[handle]/page.tsx | 8 +- app/products/[handle]/page.tsx | 6 +- app/shop/collections/page.tsx | 6 +- components/shopify/cart-drawer.tsx | 279 ++++++++++++------ components/shopify/collection-card.tsx | 57 ++-- components/shopify/collection-detail.tsx | 86 +++--- components/shopify/collections.tsx | 105 +++---- components/shopify/header.tsx | 21 +- components/shopify/product-card.tsx | 4 +- .../product-detail/product-detail-gallery.tsx | 11 +- .../product-detail/product-detail-info.tsx | 64 ++-- components/shopify/products.tsx | 84 +++--- components/shopify/shop-pay-button.tsx | 158 ++++------ graphql/cart.js | 20 ++ graphql/products.js | 4 +- hooks/use-shopify-cart.ts | 50 ++++ hooks/use-shopify-products.ts | 31 +- 20 files changed, 546 insertions(+), 466 deletions(-) diff --git a/app/collections/[handle]/page.tsx b/app/collections/[handle]/page.tsx index 1ffd06d..637012e 100644 --- a/app/collections/[handle]/page.tsx +++ b/app/collections/[handle]/page.tsx @@ -6,7 +6,7 @@ export default function Page() { return ( <>