21 Commits

Author SHA1 Message Date
google-labs-jules[bot]
0adf19ed8f Refactor: Convert layout components to use dummy data for standalone mode
This commit updates the application to operate in a standalone mode by
modifying essential data fetching functions used by layout components
to return hardcoded dummy data, removing dependencies on a live
Shopify backend for initial page rendering and layout.

Key changes:
- `lib/shopify/index.ts`:
  - `getMenu()`: Updated to return a hardcoded array of `Menu[]` items,
    bypassing any calls to `shopifyFetch`. Caching directives were
    removed as they are not applicable to static dummy data.
  - `getCart()`: Updated to return a hardcoded `Cart` object (or
    `undefined`), bypassing `shopifyFetch` and cookie-based cart ID
    retrieval.
  - `shopifyFetch()`: The core `fetch` call within this function has
    been commented out and replaced with a `throw new Error(...)`.
    This prevents any accidental live API calls and makes it clear
    that such calls are disabled in this standalone configuration.
    A `console.warn` is also added if the function is ever invoked.

These changes ensure that the main layout, including the navbar and
cart components, can render without external Shopify dependencies,
allowing the storefront to function with dummy data as per your current
project requirements. This should resolve build errors related to
fetching non-existent Shopify data (like menus) in an environment
not connected to a live Shopify store.
2025-05-22 15:29:30 +00:00
google-labs-jules[bot]
c8e2bb3cfb Fix: Prevent build failure from missing menu in _not-found
Resolves a prerendering error for the `/_not-found` page caused by
the Navbar's attempt to fetch a menu that might not exist in the
build environment (e.g., 'next-js-frontend-header-menu').

The `getMenu` function in `lib/shopify/index.ts` has been updated
to catch errors thrown by `shopifyFetch` (such as when the Shopify API
returns an error for a non-existent menu handle). If an error occurs
during menu fetching, it is now logged to the console, and `getMenu`
returns an empty array `[]`.

This allows pages using the Navbar (including `/_not-found`) to build
successfully even if the primary header menu is not found, instead of
failing the entire build process.
2025-05-22 14:33:19 +00:00
Lee Robinson
7f8f9ff1a3 use cache 2025-02-09 11:38:22 -06:00
Newton Lomar
8d4cc9a9a7
fixing response status code for no secret or wrong secret (#1397) 2024-10-27 15:21:33 -05:00
Matthew Petrie
cb99695b72
Correct default cart tax currency (#1260) 2024-10-15 22:28:35 -05:00
Lee Robinson
64ca2ac790 Update to 15 RC 2 2024-10-15 22:07:55 -05:00
Lee Robinson
9a4c995bb6
Make image, variant, and cart updates faster with useOptimistic (#1365) 2024-07-28 22:58:59 -05:00
Harry Buisman
7c1b34abdb
Remove any type and make removeEdgesAndNodes generic (#1353) 2024-07-14 12:20:15 -05:00
Lee Robinson
887d437795
Prepare for using PPR (#1236) 2024-04-17 21:54:09 -05:00
Lee Robinson
1f47796529
Improves form submissions and updates dependencies (#1209) 2023-10-10 21:45:55 -05:00
Michael Novotny
528ad9b8ce
Adds better error messages and environment variable fault tolerance (#1172)
* Adds better error messages and environment variable fault tolerance

* No hidden undefined
2023-08-11 20:19:49 -05:00
Michael Novotny
ee534492a0
Moves revalidation logic to lib (#1132) 2023-07-31 20:33:13 -07:00
Michael Novotny
326f516138
Fixes category "latest arrivals" sort (#1108)
Co-authored-by: Lee Robinson <lrobinson2011@gmail.com>
2023-07-25 08:13:32 -07:00
Lee Robinson
59fc2bc2e9
Update to new design. (#1103) 2023-07-24 19:40:29 -07:00
Michael Novotny
e4fcf19321
Adds on-demand revalidation for collections and products. (#1042) 2023-06-07 19:35:51 -05:00
Michael Novotny
f5dade74fb
Fixes search page bugs. (#1019) 2023-05-12 16:02:51 -07:00
Tobias Lins
9ea5671579
Don't fail when collections are not found (#996)
* Don't fail when collections are not found

* fix another error
2023-04-26 09:26:52 -05:00
Michael Novotny
a53ee3e3a0
Adds sitemap. (#982) 2023-04-23 13:55:25 -05:00
Michael Novotny
e3785d0269
Fixes TypeScript errors. (#980) 2023-04-21 12:56:16 -05:00
Michael Novotny
e9a26c2935
Fixes cart item button layout shift (#971) 2023-04-18 12:08:18 -05:00
Lee Robinson
fd9450aecb
Next.js Commerce refresh. (#966)
We're making some updates to Next.js Commerce. Everything prior to this commit marks what we're calling [`v1`](https://github.com/vercel/commerce/releases/tag/v1) as a point in time to be able to reference and still use going into the future. The current architecture of Commerce is a multi-vendor, interoperable solution, including:

- [Shopify](https://shopify.vercel.store/)
- [Swell](https://swell.vercel.store/)
- [BigCommerce](https://bigcommerce.vercel.store/)
- [Vendure](https://vendure.vercel.store/)
- [Saleor](https://saleor.vercel.store/)
- [Ordercloud](https://ordercloud.vercel.store/)
- [Spree](https://spree.vercel.store/)
- [Kibo Commerce](https://kibocommerce.vercel.store/)
- [Commerce.js](https://commercejs.vercel.store/)
- [SalesForce Cloud Commerce](https://salesforce-cloud-commerce.vercel.store/)

All features can be toggled on or off, and it's easy to change between commerce providers. To support this, we needed to create a ["commerce metaframework"](d1d9e8c434/packages/commerce/new-provider.md) where providers could confirm to an API spec to add support for Next.js Commerce. While this worked and was successful for `v1`, we have different design goals and ambitions for `v2`.

**What You Need To Know**

- `v1` will not be updated moving forward. If you need to reference `v1`, you will still be able to clone and deploy the version tagged at this release.
- `v2` will be shifting to be a single provider vs. provider agnostic. Other providers are welcome to fork this repository and swap out the underlying `lib/` implementation that connects to the selected commerce provider (Shopify). This architecture was chosen to reduce the surface area of the codebase, remove the intermediate metaframework layer for provider-interoperability, and enable usage with the latest Next.js and React features.
- We will be sharing more about `v2` in the future as we continue to iterate before the marked release.
2023-04-17 22:00:47 -05:00