diff --git a/.yarn/cache/react-intersection-observer-npm-9.5.2-2c006290a0-cdbe405449.zip b/.yarn/cache/react-intersection-observer-npm-9.5.2-2c006290a0-cdbe405449.zip new file mode 100644 index 000000000..d25295ff6 Binary files /dev/null and b/.yarn/cache/react-intersection-observer-npm-9.5.2-2c006290a0-cdbe405449.zip differ diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 78cac8508..1e271cf24 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -1,4 +1,3 @@ -import Navbar from 'components/layout/navbar'; import { Noto_Serif_JP } from 'next/font/google'; import localFont from 'next/font/local'; import { ReactNode, Suspense } from 'react'; @@ -84,14 +83,11 @@ export default async function RootLayout({ return ( -
- - - -
{children}
-
-
-
+ + +
{children}
+
+
); diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index d5ec2b7d0..1a21445bd 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -1,16 +1,20 @@ import { Carousel } from 'components/carousel'; import { ThreeItemGrid } from 'components/grid/three-items'; import Footer from 'components/layout/footer'; -import { LanguageControl, SupportedLocale } from 'components/layout/navbar/language-control'; +import { SupportedLocale } from 'components/layout/navbar/language-control'; import clsx from 'clsx'; -import LogoNamemark from 'components/icons/namemark'; +import AboutNaraiPreview from 'components/layout/about-narai-preview'; +import Navbar from 'components/layout/navbar'; import NewsletterSignup from 'components/layout/newsletter-signup'; import Shoplist from 'components/layout/shoplist'; +import { getCart } from 'lib/shopify'; +import { cookies } from 'next/headers'; import Image from 'next/image'; import { Suspense } from 'react'; import HomeImage001 from './images/home-image-001.webp'; import HomeImage002 from './images/home-image-002.webp'; +import HomeImage003 from './images/home-image-003.webp'; export const runtime = 'edge'; const { SITE_NAME } = process.env; @@ -28,19 +32,23 @@ export default async function HomePage({ }: { params: { locale?: SupportedLocale }; }) { + const cartId = cookies().get('cartId')?.value; + let cart; + + if (cartId) { + cart = await getCart(cartId); + } + return ( - <> -
- +
+ +
+
-
- -
-
-
+
-
+
+
+ A picture of mountain stream water on a log, next to a rock. + + +
-
+
- +
); } diff --git a/app/[locale]/product/[handle]/page.tsx b/app/[locale]/product/[handle]/page.tsx index e810bae02..c1a3cca64 100644 --- a/app/[locale]/product/[handle]/page.tsx +++ b/app/[locale]/product/[handle]/page.tsx @@ -81,7 +81,7 @@ export default async function ProductPage({ params }: { params: { handle: string __html: JSON.stringify(productJsonLd) }} /> -
+
-
+
diff --git a/app/[locale]/shop-list/layout.tsx b/app/[locale]/shop-list/layout.tsx index 6ddde54b1..43d187830 100644 --- a/app/[locale]/shop-list/layout.tsx +++ b/app/[locale]/shop-list/layout.tsx @@ -5,7 +5,7 @@ export default function Layout({ children }: { children: React.ReactNode }) { return (
-
+
{children}
diff --git a/app/[locale]/shop-list/page.tsx b/app/[locale]/shop-list/page.tsx index c49b0f5ed..ece352e8d 100644 --- a/app/[locale]/shop-list/page.tsx +++ b/app/[locale]/shop-list/page.tsx @@ -37,7 +37,7 @@ export default async function Page({ params }: { params: { locale?: SupportedLoc if (!page) return notFound(); return ( -
+
diff --git a/components/grid/three-items.tsx b/components/grid/three-items.tsx index f55a3de6b..4eeb514ec 100644 --- a/components/grid/three-items.tsx +++ b/components/grid/three-items.tsx @@ -49,7 +49,7 @@ export async function ThreeItemGrid({ lang }: { lang?: SupportedLocale }) { return (
+
+
{t('home.previews.about-narai.title')}
+
{t('home.previews.about-narai.subtitle')}
+
+
+
{t('home.previews.about-narai.body')}
+
+
+ ); +} diff --git a/components/layout/footer.tsx b/components/layout/footer.tsx index 5d282b72b..f7413c1a5 100644 --- a/components/layout/footer.tsx +++ b/components/layout/footer.tsx @@ -1,15 +1,16 @@ import clsx from 'clsx'; -import Cart from 'components/cart'; +import CartModal from 'components/cart/modal'; import FacebookIcon from 'components/icons/facebook'; import InstagramIcon from 'components/icons/instagram'; import KanjiLogo from 'components/icons/kanji'; +import { Cart } from 'lib/shopify/types'; import Link from 'next/link'; import FooterMenu from './footer-menu'; import NewsletterFooter from './newsletter-footer'; const { COMPANY_NAME, SITE_NAME } = process.env; -export default async function Footer() { +export default async function Footer({ cart }: { cart?: Cart }) { const currentYear = new Date().getFullYear(); const copyrightDate = 2023 + (currentYear > 2023 ? `-${currentYear}` : ''); const copyrightName = COMPANY_NAME || SITE_NAME || ''; @@ -18,7 +19,7 @@ export default async function Footer() {