import {useOptimisticCart} from '@shopify/hydrogen'; import {Await, Link} from 'react-router'; import {Suspense, useId} from 'react'; import type { CartApiQueryFragment, FooterQuery, HeaderQuery, } from 'storefrontapi.generated'; import type {CustomerFragment} from 'customer-accountapi.generated'; import type {QueryResponseInitial} from '@sanity/react-loader'; import type {AbiirHeaderCms} from '~/components/Header'; import type {AbiirFooterCms} from '~/lib/footer'; import {Aside} from '~/components/Aside'; import {Footer} from '~/components/Footer'; import {Header} from '~/components/Header'; import {WishlistServerSync} from '~/components/WishlistServerSync'; import {CartMain} from '~/components/CartMain'; import { SEARCH_ENDPOINT, SearchFormPredictive, } from '~/components/SearchFormPredictive'; import {SearchResultsPredictive} from '~/components/SearchResultsPredictive'; interface PageLayoutProps { cart: CartApiQueryFragment | null; footer: FooterQuery | null; footerCms: AbiirFooterCms; header: HeaderQuery; headerCms: AbiirHeaderCms; headerSanityInitial: QueryResponseInitial; isLoggedIn: boolean; accountCustomer: CustomerFragment | null; publicStoreDomain: string; children?: React.ReactNode; } export function PageLayout({ cart, children = null, footer, footerCms, header, headerCms, headerSanityInitial, isLoggedIn, accountCustomer, publicStoreDomain, }: PageLayoutProps) { return ( {header && (
)}
{children}