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 (
- <>
+