47 Commits

Author SHA1 Message Date
google-labs-jules[bot]
6498856d49 Fix: Ensure getSearchResults in SearchPage returns non-undefined array
Resolves a TypeScript error in `app/search/page.tsx`:
"Type error: Argument of type 'any[] | undefined' is not assignable to
parameter of type 'SetStateAction<any[]>'."

The `getSearchResults` function has been updated to:
1. Explicitly define its return type as `Promise<any[]>`.
2. Ensure that all code paths return an array, defaulting to an empty
   array `[]` if no specific or generic results are found, or if the
   query is empty/whitespace.

This guarantees that `setResults` always receives an array, satisfying
the type constraints of `useState<any[]>`.
2025-05-22 12:55:15 +00:00
google-labs-jules[bot]
b23fd423a5 Fix: Align all dynamic server pages with Next.js 15 Promise props
This commit applies the Next.js 15 PageProps convention (where `params`
and `searchParams` are Promises) to all relevant dynamic server route
page components. This resolves the build error:
"Type '...' does not satisfy the constraint 'PageProps'.
  Types of property 'params' are incompatible.
    Type '{...}' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag]"

The following pages were updated:
- `app/content/[slug]/page.tsx`
- `app/product/[handle]/page.tsx`
- `app/search/[collection]/page.tsx`

In each of these files, the props interface was updated to define
`params` and `searchParams` as Promises, and the component logic
was modified to `await params` to access their resolved values.

`app/search/page.tsx` was verified as a Client Component using
`useSearchParams()` and did not require these changes.
2025-05-22 12:40:20 +00:00
google-labs-jules[bot]
17e5ae33a8 Fix: Update PageProps for app/content/[slug]/page.tsx
This commit resolves a persistent TypeScript build error:
"Type 'ContentPageProps' does not satisfy the constraint 'PageProps'"
in `app/content/[slug]/page.tsx`.

The `ContentPageProps` interface has been updated to include the
`searchParams` property, aligning it with the expected structure
for Next.js page components in the App Router. This ensures
compatibility with Next.js's internal type definitions for async
server components.
2025-05-22 12:39:55 +00:00
google-labs-jules[bot]
fbea7e6d1f Fix: Align PageProps with Next.js 15 Promise-based params
This commit resolves the persistent TypeScript build error:
"Type '...' does not satisfy the constraint 'PageProps'.
  Types of property 'params' are incompatible.
    Type '{ slug: string; }' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag]"
which occurred in `app/content/[slug]/page.tsx`.

The Next.js 15 documentation states that `params` and `searchParams`
props for Page components are now Promises. The `ContentPageProps`
interface and the `ContentPage` component have been updated accordingly:
- `params` is now typed as `Promise<{ slug: string }>`.
- `searchParams` is now typed as `Promise<{ [key: string]: string | string[] | undefined }>`.
- The `params` object is now `await`ed within the async component
  to retrieve its value before being used.

This change ensures the component's props definition correctly aligns
with the requirements for async server components with dynamic routes
in Next.js 15.
2025-05-22 12:12:44 +00:00
google-labs-jules[bot]
e20efe40ba Fix: Update PageProps for app/content/[slug]/page.tsx
This commit resolves a persistent TypeScript build error:
"Type 'ContentPageProps' does not satisfy the constraint 'PageProps'"
in `app/content/[slug]/page.tsx`.

The `ContentPageProps` interface has been updated to include the
`searchParams` property, aligning it with the expected structure
for Next.js page components in the App Router. This ensures
compatibility with Next.js's internal type definitions for async
server components.
2025-05-22 09:52:24 +00:00
google-labs-jules[bot]
531f7bb420 Add frontend component skeletons and fix build error
This commit introduces the initial skeleton structure for several frontend pages as per the e-commerce starter kit plan:
- Home Page: Modified to support CMS-configurable sections (mocked).
- Content Pages: Added dynamic route for CMS-based content (mocked).
- Product Detail Page: Displays product information (mocked).
- Product List/Category Page: Displays products with mock filters/search.
- Search Page: Implements mock Relewise-powered search.
- Login Page: Basic login form structure.
- My Page: Sections for orders, quotes, downloads, profile (mocked).
- Cart & Checkout Page: Cart management and checkout form structure (mocked).

Additionally, this commit includes:
- A fix for a TypeScript type error in `app/content/[slug]/page.tsx` related to `PageProps` by introducing an explicit `ContentPageProps` interface.
- Addition of basic navigation links in the main navbar to improve site traversability.
2025-05-22 09:29:11 +00:00
google-labs-jules[bot]
c85444b805 Jules was unable to complete the task in time. Please review the work done so far and provide feedback for Jules to continue. 2025-05-22 09:24:04 +00:00
basstian-ai
94fd71c35e
Update page.tsx 2025-05-20 17:29:24 +02:00
basstian-ai
b7241a3833
Create page.tsx 2025-05-20 17:27:02 +02:00
basstian-ai
41562e065e
Create not-found.tsx 2025-05-20 17:24:09 +02:00
Lee Robinson
7f8f9ff1a3 use cache 2025-02-09 11:38:22 -06:00
조계진
b7e9e1c7e3
Refactor <Prose> component (#1352) 2024-10-15 22:28:58 -05:00
Lee Robinson
64ca2ac790 Update to 15 RC 2 2024-10-15 22:07:55 -05:00
Lee Robinson
694c5c17ba
Move to next/form (#1369) 2024-08-13 13:33:05 -05:00
Lee Robinson
9a4c995bb6
Make image, variant, and cart updates faster with useOptimistic (#1365) 2024-07-28 22:58:59 -05:00
Lee Robinson
ec21369389
Update dependencies. (#1361) 2024-07-24 14:05:34 -05:00
Lee Robinson
887d437795
Prepare for using PPR (#1236) 2024-04-17 21:54:09 -05:00
Lee Robinson
610b0e8692 Remove stray revalidate 2024-03-31 08:50:39 -05:00
Lee Robinson
25ddc5e643
Update dependencies. (#1314) 2024-03-26 16:15:01 -05:00
Lee Robinson
2448f5201c
Upgrade to Next.js 14 (#1224) 2023-10-27 14:11:18 -05:00
Michael Novotny
5cb1245432
Adds environment variable validation (#1198)
* Adds environment variable validation

* Adds bracket checking in SHOPIFY_STORE_DOMAIN

* Prettier

* Adds link

---------

Co-authored-by: Lee Robinson <lrobinson2011@gmail.com>
2023-10-02 10:18:56 -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
3f1a4f65ae
Fixes product detail spacing (#1158) 2023-08-08 10:05:38 -05:00
Lee Robinson
faa7491a55
Better error handling. (#1150) 2023-08-04 22:21:57 -05:00
Michael Novotny
9e1388f974
Updates favicon (#1141)
Co-authored-by: Lee Robinson <lrobinson2011@gmail.com>
2023-08-02 21:17:11 -05:00
Michael Novotny
9c813577e1
Optimizes image sizes (#1140) 2023-08-02 21:07:35 -05:00
Michael Novotny
0f700e2d07
Small visual tweaks. (#1137) 2023-08-02 09:04:44 -05:00
Michael Novotny
1d5242eef3
Adds better sitemap error handling (#1134)
* Adds better sitemap error handling

* Removes extra `flat`

---------

Co-authored-by: Lee Robinson <lrobinson2011@gmail.com>
2023-08-01 20:34:45 -05:00
Michael Novotny
ee534492a0
Moves revalidation logic to lib (#1132) 2023-07-31 20:33:13 -07:00
Kanji Yomoda
10b1d4bbae
Renames confusing variable name (#1131) 2023-07-31 08:30:00 -05:00
Ian Jones
586f9bfe56
Update globals.css (#1113) 2023-07-25 14:05:25 -04:00
Lee Robinson
59fc2bc2e9
Update to new design. (#1103) 2023-07-24 19:40:29 -07:00
Michael Novotny
585b3bbff8
Replaces Route Handlers with Server Actions (#1050) 2023-06-17 11:18:00 -07:00
Michael Novotny
87c385fcd6
Converts to Opengraph Image file convention. (#1043) 2023-06-07 20:57:31 -05:00
Michael Novotny
e4fcf19321
Adds on-demand revalidation for collections and products. (#1042) 2023-06-07 19:35:51 -05:00
Lee Robinson
fecc60eb36
Update dependencies and fix TS errors. (#1041) 2023-06-06 20:36:44 -05:00
Abhushan A. Joshi
30a080182c
Adds a basic product JSON-LD schema on product details page. (#1016) 2023-05-22 12:04:27 -05:00
Michael Novotny
f5dade74fb
Fixes search page bugs. (#1019) 2023-05-12 16:02:51 -07:00
Andrew Jones
a5e799b16e
Use parallel fetches for sitemap requests and remove duplicate /search url (#1004)
Co-authored-by: Andrew  Jones <andrewj@corra.com>
Co-authored-by: Lee Robinson <lrobinson2011@gmail.com>
2023-05-09 19:18:01 -07:00
Lee Robinson
c2b96d6e2f
Add robots.txt file + update Next version. (#984) 2023-04-24 09:53:56 -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
8ff670d7d6
Fixes quirks with featured and related products. (#978) 2023-04-21 12:19:08 -04:00
Michael Novotny
7de3ae5583
Removes unnecessary async on ProductGridItems (#977) 2023-04-20 13:54:04 -05:00
Stephanie Dietz
acb4ff400b
Updates recommended products to use ProductGridItems component (#975) 2023-04-20 11:27:18 -05:00
Michael Novotny
67a192eba8
Adds documentation on how to configure Next.js Commerce and Shopify (#974) 2023-04-20 06:46:35 -04: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