diff --git a/app/layout.tsx b/app/layout.tsx index 1e17f31d3..3b09ab7e4 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,7 +1,12 @@ -import Navbar from 'components/layout/navbar'; +import { CartProvider } from 'components/cart/cart-context'; +import { Navbar } from 'components/layout/navbar'; +import { WelcomeToast } from 'components/welcome-toast'; import { GeistSans } from 'geist/font/sans'; +import { getCart } from 'lib/shopify'; import { ensureStartsWith } from 'lib/utils'; +import { cookies } from 'next/headers'; import { ReactNode } from 'react'; +import { Toaster } from 'sonner'; import './globals.css'; const { TWITTER_CREATOR, TWITTER_SITE, SITE_NAME } = process.env; @@ -32,11 +37,21 @@ export const metadata = { }; export default async function RootLayout({ children }: { children: ReactNode }) { + const cartId = cookies().get('cartId')?.value; + // Don't await the fetch, pass the Promise to the context provider + const cart = getCart(cartId); + return ( - -
{children}
+ + +
+ {children} + + +
+
); diff --git a/app/page.tsx b/app/page.tsx index 0fad0ac28..7d407ede8 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -9,7 +9,7 @@ export const metadata = { } }; -export default async function HomePage() { +export default function HomePage() { return ( <> diff --git a/app/product/[handle]/page.tsx b/app/product/[handle]/page.tsx index 8b2d5c2cf..e2280675d 100644 --- a/app/product/[handle]/page.tsx +++ b/app/product/[handle]/page.tsx @@ -4,6 +4,7 @@ import { notFound } from 'next/navigation'; import { GridTileImage } from 'components/grid/tile'; import Footer from 'components/layout/footer'; import { Gallery } from 'components/product/gallery'; +import { ProductProvider } from 'components/product/product-context'; import { ProductDescription } from 'components/product/product-description'; import { HIDDEN_PRODUCT_TAG } from 'lib/constants'; import { getProduct, getProductRecommendations } from 'lib/shopify'; @@ -72,7 +73,7 @@ export default async function ProductPage({ params }: { params: { handle: string }; return ( - <> +