diff --git a/lib/bigcommerce/api/operations/get-all-products.ts b/lib/bigcommerce/api/operations/get-all-products.ts index f67d62831..0cd9737c2 100644 --- a/lib/bigcommerce/api/operations/get-all-products.ts +++ b/lib/bigcommerce/api/operations/get-all-products.ts @@ -71,6 +71,7 @@ export type ProductVariables = { field?: ProductTypes } & Omit< async function getAllProducts(opts?: { variables?: ProductVariables config?: BigcommerceConfig + preview?: boolean }): Promise async function getAllProducts< @@ -80,6 +81,7 @@ async function getAllProducts< query: string variables?: V config?: BigcommerceConfig + preview?: boolean }): Promise> async function getAllProducts({ @@ -90,6 +92,7 @@ async function getAllProducts({ query?: string variables?: ProductVariables config?: BigcommerceConfig + preview?: boolean } = {}): Promise { config = getConfig(config) diff --git a/lib/bigcommerce/api/operations/get-customer-wishlist.ts b/lib/bigcommerce/api/operations/get-customer-wishlist.ts index 093b136f1..1fc40f201 100644 --- a/lib/bigcommerce/api/operations/get-customer-wishlist.ts +++ b/lib/bigcommerce/api/operations/get-customer-wishlist.ts @@ -15,7 +15,6 @@ export type GetCustomerWishlistVariables = { async function getCustomerWishlist(opts: { variables: GetCustomerWishlistVariables config?: BigcommerceConfig - preview?: boolean }): Promise async function getCustomerWishlist< @@ -25,7 +24,6 @@ async function getCustomerWishlist< url: string variables: V config?: BigcommerceConfig - preview?: boolean }): Promise> async function getCustomerWishlist({ @@ -35,7 +33,6 @@ async function getCustomerWishlist({ url?: string variables: GetCustomerWishlistVariables config?: BigcommerceConfig - preview?: boolean }): Promise { config = getConfig(config) diff --git a/lib/bigcommerce/api/operations/get-product.ts b/lib/bigcommerce/api/operations/get-product.ts index ab03a2eab..917c3cf44 100644 --- a/lib/bigcommerce/api/operations/get-product.ts +++ b/lib/bigcommerce/api/operations/get-product.ts @@ -74,12 +74,14 @@ export type ProductVariables = { locale?: string } & ( async function getProduct(opts: { variables: ProductVariables config?: BigcommerceConfig + preview?: boolean }): Promise async function getProduct(opts: { query: string variables: V config?: BigcommerceConfig + preview?: boolean }): Promise> async function getProduct({ @@ -90,6 +92,7 @@ async function getProduct({ query?: string variables: ProductVariables config?: BigcommerceConfig + preview?: boolean }): Promise { config = getConfig(config) diff --git a/lib/bigcommerce/api/operations/get-site-info.ts b/lib/bigcommerce/api/operations/get-site-info.ts index 0a6e84f0f..44c0cfeb5 100644 --- a/lib/bigcommerce/api/operations/get-site-info.ts +++ b/lib/bigcommerce/api/operations/get-site-info.ts @@ -64,6 +64,7 @@ export type GetSiteInfoResult< async function getSiteInfo(opts?: { variables?: GetSiteInfoQueryVariables config?: BigcommerceConfig + preview?: boolean }): Promise async function getSiteInfo< @@ -73,6 +74,7 @@ async function getSiteInfo< query: string variables?: V config?: BigcommerceConfig + preview?: boolean }): Promise> async function getSiteInfo({ @@ -83,6 +85,7 @@ async function getSiteInfo({ query?: string variables?: GetSiteInfoQueryVariables config?: BigcommerceConfig + preview?: boolean } = {}): Promise { config = getConfig(config) // RecursivePartial forces the method to check for every prop in the data, which is diff --git a/pages/[...pages].tsx b/pages/[...pages].tsx index 283eedd18..a4b4485a6 100644 --- a/pages/[...pages].tsx +++ b/pages/[...pages].tsx @@ -1,7 +1,7 @@ -import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' -import getSlug from '@utils/get-slug' +import type { GetStaticPropsContext, InferGetStaticPropsType } from 'next' import getPage from '@lib/bigcommerce/api/operations/get-page' import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' +import getSlug from '@utils/get-slug' import { Layout, HTMLContent } from '@components/core' export async function getStaticProps({ @@ -9,12 +9,13 @@ export async function getStaticProps({ params, locale, }: GetStaticPropsContext<{ pages: string[] }>) { - const { pages } = await getAllPages() + const { pages } = await getAllPages({ preview }) const path = params?.pages.join('/') const slug = locale ? `${locale}/${path}` : path const pageItem = pages.find((p) => (p.url ? getSlug(p.url) === slug : false)) - const data = pageItem && (await getPage({ variables: { id: pageItem.id! } })) + const data = + pageItem && (await getPage({ variables: { id: pageItem.id! }, preview })) const page = data?.page if (!page) { diff --git a/pages/blog.tsx b/pages/blog.tsx index 47b46b627..c6cd1ccb8 100644 --- a/pages/blog.tsx +++ b/pages/blog.tsx @@ -1,18 +1,16 @@ -import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' +import type { GetStaticPropsContext } from 'next' import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' import { Layout } from '@components/core' import { Container } from '@components/ui' export async function getStaticProps({ preview }: GetStaticPropsContext) { - const { pages } = await getAllPages() + const { pages } = await getAllPages({ preview }) return { props: { pages }, } } -export default function Blog({}: InferGetStaticPropsType< - typeof getStaticProps ->) { +export default function Blog() { return (
diff --git a/pages/cart.tsx b/pages/cart.tsx index 62fd618b4..35a853242 100644 --- a/pages/cart.tsx +++ b/pages/cart.tsx @@ -1,4 +1,4 @@ -import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' +import type { GetStaticPropsContext } from 'next' import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' import { Layout } from '@components/core' import { Button } from '@components/ui' @@ -9,15 +9,13 @@ import { CartItem } from '@components/cart' import { Text } from '@components/ui' export async function getStaticProps({ preview }: GetStaticPropsContext) { - const { pages } = await getAllPages() + const { pages } = await getAllPages({ preview }) return { props: { pages }, } } -export default function Cart({}: InferGetStaticPropsType< - typeof getStaticProps ->) { +export default function Cart() { const { data, isEmpty } = useCart() const { price: subTotal } = usePrice( data && { diff --git a/pages/index.tsx b/pages/index.tsx index 8f02e3c01..ec2c22122 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,5 +1,5 @@ import { useMemo } from 'react' -import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' +import type { GetStaticPropsContext, InferGetStaticPropsType } from 'next' import { getConfig } from '@lib/bigcommerce/api' import getAllProducts from '@lib/bigcommerce/api/operations/get-all-products' import getSiteInfo from '@lib/bigcommerce/api/operations/get-site-info' @@ -19,17 +19,20 @@ export async function getStaticProps({ const { products: featuredProducts } = await getAllProducts({ variables: { field: 'featuredProducts', first: 6 }, config, + preview, }) const { products: bestSellingProducts } = await getAllProducts({ variables: { field: 'bestSellingProducts', first: 6 }, config, + preview, }) const { products: newestProducts } = await getAllProducts({ variables: { field: 'newestProducts', first: 12 }, config, + preview, }) - const { categories, brands } = await getSiteInfo({ config }) - const { pages } = await getAllPages({ config }) + const { categories, brands } = await getSiteInfo({ config, preview }) + const { pages } = await getAllPages({ config, preview }) return { props: { diff --git a/pages/orders.tsx b/pages/orders.tsx index 37ba013a8..f2b463428 100644 --- a/pages/orders.tsx +++ b/pages/orders.tsx @@ -1,6 +1,16 @@ +import type { GetStaticPropsContext } from 'next' +import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' import { Layout } from '@components/core' import { Container, Text } from '@components/ui' import { Bag } from '@components/icons' + +export async function getStaticProps({ preview }: GetStaticPropsContext) { + const { pages } = await getAllPages({ preview }) + return { + props: { pages }, + } +} + export default function Orders() { return ( diff --git a/pages/product/[slug].tsx b/pages/product/[slug].tsx index 30f708997..05161b9b2 100644 --- a/pages/product/[slug].tsx +++ b/pages/product/[slug].tsx @@ -1,4 +1,4 @@ -import { +import type { GetStaticPathsContext, GetStaticPropsContext, InferGetStaticPropsType, @@ -14,13 +14,15 @@ import getAllProductPaths from '@lib/bigcommerce/api/operations/get-all-product- export async function getStaticProps({ params, locale, + preview, }: GetStaticPropsContext<{ slug: string }>) { const config = getConfig({ locale }) - const { pages } = await getAllPages({ config }) + const { pages } = await getAllPages({ config, preview }) const { product } = await getProduct({ variables: { slug: params!.slug }, config, + preview, }) if (!product) { diff --git a/pages/profile.tsx b/pages/profile.tsx index 3d657a525..d2babd9eb 100644 --- a/pages/profile.tsx +++ b/pages/profile.tsx @@ -1,6 +1,15 @@ +import type { GetStaticPropsContext } from 'next' +import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' +import useCustomer from '@lib/bigcommerce/use-customer' import { Layout } from '@components/core' import { Container, Text } from '@components/ui' -import useCustomer from '@lib/bigcommerce/use-customer' + +export async function getStaticProps({ preview }: GetStaticPropsContext) { + const { pages } = await getAllPages({ preview }) + return { + props: { pages }, + } +} export default function Profile() { const { data } = useCustomer() diff --git a/pages/search.tsx b/pages/search.tsx index 3d18adb66..c6db8108f 100644 --- a/pages/search.tsx +++ b/pages/search.tsx @@ -18,8 +18,8 @@ import { } from '@utils/search' export async function getStaticProps({ preview }: GetStaticPropsContext) { - const { pages } = await getAllPages() - const { categories, brands } = await getSiteInfo() + const { pages } = await getAllPages({ preview }) + const { categories, brands } = await getSiteInfo({ preview }) return { props: { pages, categories, brands }, diff --git a/pages/ui.tsx b/pages/ui.tsx deleted file mode 100644 index 8e0ee3642..000000000 --- a/pages/ui.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { Layout } from '@components/core' -import { Container, Skeleton } from '@components/ui' -export default function Search() { - return ( - - - - ) -} - -Search.Layout = Layout diff --git a/pages/wishlist.tsx b/pages/wishlist.tsx index d765ab28c..aef363e94 100644 --- a/pages/wishlist.tsx +++ b/pages/wishlist.tsx @@ -1,15 +1,15 @@ -import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' +import type { GetStaticPropsContext, InferGetStaticPropsType } from 'next' import getAllPages from '@lib/bigcommerce/api/operations/get-all-pages' +import useWishlist from '@lib/bigcommerce/wishlist/use-wishlist' import { Layout } from '@components/core' import { Container, Text } from '@components/ui' import { WishlistCard } from '@components/wishlist' import getSiteInfo from '@lib/bigcommerce/api/operations/get-site-info' -import useWishlist from '@lib/bigcommerce/wishlist/use-wishlist' export async function getStaticProps({ preview }: GetStaticPropsContext) { - const { pages } = await getAllPages() - const { categories, brands } = await getSiteInfo() + const { pages } = await getAllPages({ preview }) + const { categories, brands } = await getSiteInfo({ preview }) return { props: { pages, categories, brands }, @@ -20,7 +20,7 @@ export default function Home({ categories, brands, }: InferGetStaticPropsType) { - // const { data } = useWishlist() + const { data } = useWishlist() return (