-
Notifications
You must be signed in to change notification settings - Fork 47
Storefront product grid and product details #1215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add ProductGrid and ProductCard components for displaying SKU groups - Add Badge and Card UI components - Update GraphQL queries to fetch SKU groups with mediaObjects - Display product images from mediaObjects (IMAGE type) - Add formatCurrency utility function - Create example store page in Next.js app - Add providers setup for React Query Amp-Thread-ID: https://ampcode.com/threads/T-65ac7bb2-a629-4360-a457-dddb0eb691c8 Co-authored-by: Amp <amp@ampcode.com>
…refront-product-grid # Conflicts: # examples/nextjs/app/checkout.tsx # examples/nextjs/app/providers.tsx # examples/nextjs/package.json # packages/react/package.json # packages/react/src/godaddy-provider.tsx # packages/react/src/lib/godaddy/godaddy.ts # packages/react/src/lib/godaddy/graphql-env.ts # packages/react/src/lib/utils.ts # pnpm-lock.yaml
🦋 Changeset detectedLatest commit: 69b0029 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
packages/react/src/components/checkout/form/checkout-form-container.tsx
Outdated
Show resolved
Hide resolved
| matchedSkus.length === 1 ? matchedSkus[0]?.node?.id : null; | ||
|
|
||
| // Query individual SKU details when exactly one SKU matches | ||
| const { data: individualSkuData, isLoading: isSkuLoading } = useQuery({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We won't need this once the proper filterig is in place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still think we need an individually query? or can we grab all of the data we need in the skus query as well? do we want to do that? since we'll be grabbing inventory/prices/media/etc?
wcole1-godaddy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Summary
Add Storefront Components with Product Grid, Cart, and GraphQL Schema Refactoring
Summary
This PR introduces a complete storefront solution for GoDaddy Commerce, including product browsing, product details, and cart functionality. It also refactors the GraphQL schema organization to
namespace different API endpoints (Catalog Storefront, Checkout, and Orders Storefront).
Changes
🎨 New Storefront Components
Added a comprehensive set of React components for building storefronts:
Files:
🧩 New UI Components
Added reusable shadcn-style UI components:
Files:
🔄 GraphQL Schema Refactoring
Reorganized GraphQL schemas into separate namespaced files for better maintainability:
Files:
🔌 Provider Enhancements
Extended GoDaddyProvider with storefront context:
Files:
📦 Example Implementation
Added complete Next.js example demonstrating storefront features:
Files:
🛠️ Additional Changes
Changeset
Test Plan