2020-10-29 19:03:43 -05:00
|
|
|
import type {
|
|
|
|
GetStaticPathsContext,
|
|
|
|
GetStaticPropsContext,
|
|
|
|
InferGetStaticPropsType,
|
|
|
|
} from 'next'
|
2021-01-09 12:36:48 -03:00
|
|
|
import { Text } from '@components/ui'
|
|
|
|
import { Layout } from '@components/common'
|
2020-11-26 13:36:59 -03:00
|
|
|
import getSlug from '@lib/get-slug'
|
|
|
|
import { missingLocaleInPages } from '@lib/usage-warns'
|
2020-12-29 20:04:26 -05:00
|
|
|
import { getConfig } from '@framework/api'
|
Agnostic UI (#199)
* changes
* Progress
* Normalized Products output
* Progress
* Restored Index Agnostic
* Progress
* Reordering
* Moved normalizer to BC function
* Removed Futures
* More Types
* More Types
* More Types
* Fix useCallback
* Progress, Changes types, readme and restoring functionality
* Changes
* TS Issues
* Changes
* Normalizer
* Normalizing more operations
* Normalizing more operations
* changes
* Merge Issues
* Cleanup
* change
* changes
* index.ts broke my tree shaking
* slug
* Normalized Options and Swatches
* Restored Add to cart
* Correct Variant Added to Cart
* Normalizing Cart Responses
* Changes
* changes breaking
* Adding immutable normalizer for Product
* Cart Normalized
* changes
* Progress
* More updates
* Removed some comments
* Add loading state for data hooks
* Bug fix
* Changed the way isEmpty works
* Improve navbar performance
* Added useResponse hook
* added useResponse to useWhishlist
* Added husky and lint-staged
* Ran prettier fix
* Added more cart types
* Moved types.d.ts to the commerce folder
* Minor changes
* Moved normalizer to happen after fetch
* updated useCart types
* Updated normalizer for useData
* Added new normalizer for the cart to the UI
* More corrections for useCart
* Updated cart update hooks
* Removed import
* Progress
* Switch away from global types
* Making multiple changes
* Improved types for operations
* Moved and updated cart types
* Updated the useAddItem and useRemoveItem hooks
* Minor life improvement
* Minor change
* Implement Shopify Provider
* Update README.md
* Update README.md
* normalizations & missing files
* Update index.ts
* fixes
* Update normalize.ts
* fix: cart error on first load
* shopify checkout redirect & api handler
* Update get-checkout-id.ts
* userAvatar
* Fix: color option
* Update normalize.ts
* changes
* Update next.config.js
* start customer auth & signup
* Update config.ts
* Login, Sign Up, Log Out, and checkout & customer association
* Automatic login after sign-up
* Update handle-login.ts
* MOving stuff around and adding temporal new files
* changes
* Replace use-cart with the new hook
* Removed old hook
* Improved HookHandler type
* Moved types
* Simplified useData types
* Updated Fetcher type
* Moved SwrOptions type
* Removed duplicated fetcher
* Moved provider to its own file
* Added proper type for fetch input
* Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic"
This reverts commit 23c8ed7c2d48d30e74ad94216f9910650fadf30c, reversing
changes made to bf50965a39ef0b1b956461ebe62070809fbe1d63.
* change readme
* Revert "Merge branch 'master' of https://github.com/vercel/commerce into agnostic"
This reverts commit bf50965a39ef0b1b956461ebe62070809fbe1d63, reversing
changes made to 0dad4ddedbf0bff2d0b5800ca469fda0073889ea.
* Revert "Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic""
This reverts commit c9a43f1bce0572d0eff41f3af893be8bdb00bedd.
* align with upstream changes
* Updated how the hook input is handled
* Add more options to the hook handler
* Final touches to the hook handler type
* Moved useWishlist to use new handler
* Move useCustomer to the new hook
* Added a default fetcher
* query all products for vendors & paths, improve search
* Update use-search.tsx
* fix cart after upstream changes
* Shopify Provider (#186)
* Start of Shopify provider
* add missing comment to documentation
* add missing env vars to documentation
* update reference to types file
* Moved useSearch to the new hook
* Removed old use-data lib
* Removed generics for result and body
* Removed normalizr
* Wishlist
* New changes and initial Features API
* Fixed some types
* Fixed more types
* fixes after upstream changes
* Fixed product types
* Fixed another product type
* Updated type
* Fixed remaining issues with types
* Added a MutationHandler
* Moved the handlers to each hook
* Moved the fetcher to its own file
* Moved handler to each hook
* Added initial version of useAddItem
* Added better mutation types, and moved some hooks
* Removed use-cart-actions
* Added initial version of useAddItem
* Updated types
* Update use-add-item.tsx
* changes
* Changes
* Reordering and changes
* Adding Features APO
* Adding wishlist api
* Implementing FeaturesAPI with Wishlist
* Removing bug with touchstart
* Adding tyni typing
* moved use-remove-item
* Removed MutationHandler type
* Moved more hooks and updated types to make them smaller
* Moved data hooks to new format
* Removed no longer required types
* Removed useResponse helper
* Updated useData type
* Moved wishlist use-add-item
* Moved wishlist use-remove-item to provider
* Moved use-login and use-logout
* Update use-signup
* Removed use-action helper
* Moved auth & cart hooks + several fixes
* Updated cart item, fixed deprecations
* Update next.config.js
* Updates to wishlist feature
* Moved the features to be environment variable only
* More changes for wishlist config
* Disable wishlist
* Removed useWishlistActions
* Updated readme
* updates
* typos
* Updated the way the provider config is set
* Removed features.ts
* Removed bootstrap.js
* Aligned with upstream changes
* Updates
* shopify: changes
* shopify: changes
* Update next.config.js
* Shopify Provider Updates (#209)
* Implement Shopify Provider
* Update README.md
* Update README.md
* normalizations & missing files
* Update index.ts
* fixes
* Update normalize.ts
* fix: cart error on first load
* shopify checkout redirect & api handler
* Update get-checkout-id.ts
* Fix: color option
* Update normalize.ts
* changes
* Update next.config.js
* start customer auth & signup
* Update config.ts
* Login, Sign Up, Log Out, and checkout & customer association
* Automatic login after sign-up
* Update handle-login.ts
* changes
* Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic"
This reverts commit 23c8ed7c2d48d30e74ad94216f9910650fadf30c, reversing
changes made to bf50965a39ef0b1b956461ebe62070809fbe1d63.
* change readme
* Revert "Merge branch 'master' of https://github.com/vercel/commerce into agnostic"
This reverts commit bf50965a39ef0b1b956461ebe62070809fbe1d63, reversing
changes made to 0dad4ddedbf0bff2d0b5800ca469fda0073889ea.
* Revert "Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic""
This reverts commit c9a43f1bce0572d0eff41f3af893be8bdb00bedd.
* align with upstream changes
* query all products for vendors & paths, improve search
* Update use-search.tsx
* fix cart after upstream changes
* fixes after upstream changes
* Moved handler to each hook
* Added initial version of useAddItem
* Updated types
* Update use-add-item.tsx
* Moved auth & cart hooks + several fixes
* Updated cart item, fixed deprecations
* Update next.config.js
* Aligned with upstream changes
* Updates
* Update next.config.js
* Updated the commerce config structure
* Removed @framework imports within framework providers
* Fixed types
* changes
* Adding extra config
* Adding shopify commit
* Adding env templates to the providers
* Ignore some types
* Adding link for Cart
* Adding customCheckout
* multiple changes to fix the wishlist
* Shopify Provier Updates (#212)
* changes
* Adding shopify commit
* Changed to query page by id
* Fixed page query, Changed use-search GraphQl query
* Update use-search.tsx
* remove unused util
* Changed cookie expiration
* Update tsconfig.json
Co-authored-by: okbel <curciobel@gmail.com>
* Bump and adding dependency
* Adding color checks
* Now colors work with lighter colors
* Stable commerce.config.json
* Updated main readme
* Readme changes
* Default to bigcommerce
Co-authored-by: bc <bc@bcs-MacBook-Pro.fibertel.com.ar>
Co-authored-by: Luis Alvarez <luis@vercel.com>
Co-authored-by: cond0r <pinte_catalin@yahoo.com>
Co-authored-by: Peter Mekhaeil <4616064+petermekhaeil@users.noreply.github.com>
2021-03-04 07:57:25 -03:00
|
|
|
import getPage from '@framework/common/get-page'
|
|
|
|
import getAllPages from '@framework/common/get-all-pages'
|
2021-01-09 12:36:48 -03:00
|
|
|
import { defaultPageProps } from '@lib/defaults'
|
2020-10-15 18:00:33 -05:00
|
|
|
|
|
|
|
export async function getStaticProps({
|
|
|
|
preview,
|
|
|
|
params,
|
2020-10-25 13:31:12 -05:00
|
|
|
locale,
|
2020-10-15 18:00:33 -05:00
|
|
|
}: GetStaticPropsContext<{ pages: string[] }>) {
|
2020-10-27 04:00:42 -05:00
|
|
|
const config = getConfig({ locale })
|
|
|
|
const { pages } = await getAllPages({ preview, config })
|
2020-10-25 13:31:12 -05:00
|
|
|
const path = params?.pages.join('/')
|
|
|
|
const slug = locale ? `${locale}/${path}` : path
|
|
|
|
|
2020-10-15 18:00:33 -05:00
|
|
|
const pageItem = pages.find((p) => (p.url ? getSlug(p.url) === slug : false))
|
2020-10-27 00:47:29 -05:00
|
|
|
const data =
|
2020-10-27 04:00:42 -05:00
|
|
|
pageItem &&
|
Variants Issue with Shopify Provider (#222)
* changes
* Progress
* Normalized Products output
* Progress
* Restored Index Agnostic
* Progress
* Reordering
* Moved normalizer to BC function
* Removed Futures
* More Types
* More Types
* More Types
* Fix useCallback
* Progress, Changes types, readme and restoring functionality
* Changes
* TS Issues
* Changes
* Normalizer
* Normalizing more operations
* Normalizing more operations
* changes
* Merge Issues
* Cleanup
* change
* changes
* index.ts broke my tree shaking
* slug
* Normalized Options and Swatches
* Restored Add to cart
* Correct Variant Added to Cart
* Normalizing Cart Responses
* Changes
* changes breaking
* Adding immutable normalizer for Product
* Cart Normalized
* changes
* Progress
* More updates
* Removed some comments
* Add loading state for data hooks
* Bug fix
* Changed the way isEmpty works
* Improve navbar performance
* Added useResponse hook
* added useResponse to useWhishlist
* Added husky and lint-staged
* Ran prettier fix
* Added more cart types
* Moved types.d.ts to the commerce folder
* Minor changes
* Moved normalizer to happen after fetch
* updated useCart types
* Updated normalizer for useData
* Added new normalizer for the cart to the UI
* More corrections for useCart
* Updated cart update hooks
* Removed import
* Progress
* Switch away from global types
* Making multiple changes
* Improved types for operations
* Moved and updated cart types
* Updated the useAddItem and useRemoveItem hooks
* Minor life improvement
* Minor change
* Implement Shopify Provider
* Update README.md
* Update README.md
* normalizations & missing files
* Update index.ts
* fixes
* Update normalize.ts
* fix: cart error on first load
* shopify checkout redirect & api handler
* Update get-checkout-id.ts
* userAvatar
* Fix: color option
* Update normalize.ts
* changes
* Update next.config.js
* start customer auth & signup
* Update config.ts
* Login, Sign Up, Log Out, and checkout & customer association
* Automatic login after sign-up
* Update handle-login.ts
* MOving stuff around and adding temporal new files
* changes
* Replace use-cart with the new hook
* Removed old hook
* Improved HookHandler type
* Moved types
* Simplified useData types
* Updated Fetcher type
* Moved SwrOptions type
* Removed duplicated fetcher
* Moved provider to its own file
* Added proper type for fetch input
* Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic"
This reverts commit 23c8ed7c2d48d30e74ad94216f9910650fadf30c, reversing
changes made to bf50965a39ef0b1b956461ebe62070809fbe1d63.
* change readme
* Revert "Merge branch 'master' of https://github.com/vercel/commerce into agnostic"
This reverts commit bf50965a39ef0b1b956461ebe62070809fbe1d63, reversing
changes made to 0dad4ddedbf0bff2d0b5800ca469fda0073889ea.
* Revert "Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic""
This reverts commit c9a43f1bce0572d0eff41f3af893be8bdb00bedd.
* align with upstream changes
* Updated how the hook input is handled
* Add more options to the hook handler
* Final touches to the hook handler type
* Moved useWishlist to use new handler
* Move useCustomer to the new hook
* Added a default fetcher
* query all products for vendors & paths, improve search
* Update use-search.tsx
* fix cart after upstream changes
* Shopify Provider (#186)
* Start of Shopify provider
* add missing comment to documentation
* add missing env vars to documentation
* update reference to types file
* Moved useSearch to the new hook
* Removed old use-data lib
* Removed generics for result and body
* Removed normalizr
* Wishlist
* New changes and initial Features API
* Fixed some types
* Fixed more types
* fixes after upstream changes
* Fixed product types
* Fixed another product type
* Updated type
* Fixed remaining issues with types
* Added a MutationHandler
* Moved the handlers to each hook
* Moved the fetcher to its own file
* Moved handler to each hook
* Added initial version of useAddItem
* Added better mutation types, and moved some hooks
* Removed use-cart-actions
* Added initial version of useAddItem
* Updated types
* Update use-add-item.tsx
* changes
* Changes
* Reordering and changes
* Adding Features APO
* Adding wishlist api
* Implementing FeaturesAPI with Wishlist
* Removing bug with touchstart
* Adding tyni typing
* moved use-remove-item
* Removed MutationHandler type
* Moved more hooks and updated types to make them smaller
* Moved data hooks to new format
* Removed no longer required types
* Removed useResponse helper
* Updated useData type
* Moved wishlist use-add-item
* Moved wishlist use-remove-item to provider
* Moved use-login and use-logout
* Update use-signup
* Removed use-action helper
* Moved auth & cart hooks + several fixes
* Updated cart item, fixed deprecations
* Update next.config.js
* Updates to wishlist feature
* Moved the features to be environment variable only
* More changes for wishlist config
* Disable wishlist
* Removed useWishlistActions
* Updated readme
* updates
* typos
* Updated the way the provider config is set
* Removed features.ts
* Removed bootstrap.js
* Aligned with upstream changes
* Updates
* shopify: changes
* shopify: changes
* Update next.config.js
* Shopify Provider Updates (#209)
* Implement Shopify Provider
* Update README.md
* Update README.md
* normalizations & missing files
* Update index.ts
* fixes
* Update normalize.ts
* fix: cart error on first load
* shopify checkout redirect & api handler
* Update get-checkout-id.ts
* Fix: color option
* Update normalize.ts
* changes
* Update next.config.js
* start customer auth & signup
* Update config.ts
* Login, Sign Up, Log Out, and checkout & customer association
* Automatic login after sign-up
* Update handle-login.ts
* changes
* Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic"
This reverts commit 23c8ed7c2d48d30e74ad94216f9910650fadf30c, reversing
changes made to bf50965a39ef0b1b956461ebe62070809fbe1d63.
* change readme
* Revert "Merge branch 'master' of https://github.com/vercel/commerce into agnostic"
This reverts commit bf50965a39ef0b1b956461ebe62070809fbe1d63, reversing
changes made to 0dad4ddedbf0bff2d0b5800ca469fda0073889ea.
* Revert "Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic""
This reverts commit c9a43f1bce0572d0eff41f3af893be8bdb00bedd.
* align with upstream changes
* query all products for vendors & paths, improve search
* Update use-search.tsx
* fix cart after upstream changes
* fixes after upstream changes
* Moved handler to each hook
* Added initial version of useAddItem
* Updated types
* Update use-add-item.tsx
* Moved auth & cart hooks + several fixes
* Updated cart item, fixed deprecations
* Update next.config.js
* Aligned with upstream changes
* Updates
* Update next.config.js
* Updated the commerce config structure
* Removed @framework imports within framework providers
* Fixed types
* changes
* Adding extra config
* Adding shopify commit
* Adding env templates to the providers
* Ignore some types
* Adding link for Cart
* Adding customCheckout
* multiple changes to fix the wishlist
* Shopify Provier Updates (#212)
* changes
* Adding shopify commit
* Changed to query page by id
* Fixed page query, Changed use-search GraphQl query
* Update use-search.tsx
* remove unused util
* Changed cookie expiration
* Update tsconfig.json
Co-authored-by: okbel <curciobel@gmail.com>
* Bump and adding dependency
* Adding color checks
* Now colors work with lighter colors
* Stable commerce.config.json
* Updated main readme
* Readme changes
* Default to bigcommerce
* og config
* Adding Shopify Config
* Adding OG Card
* Adding support for default option
* Adding support for default options and removing the one that we do not need
* Changes to Shopify
* Shopify provider fixes (#225)
* Changed to query page by id
* Fixed page query, Changed use-search GraphQl query
* Update use-search.tsx
* remove unused util
* Changed cookie expiration
* Update tsconfig.json
* Fix add to cart & prepare for user activation
* Update helpers.ts
* Update helpers.ts
* Changes, fix Shopify GraphQL deprecations
* Update checkout-to-cart.ts
* Default to BigCommerce
* Update index.ts
* Fixed types
* Delete commerce.config.json
* Shopify provider fixes (#239)
* Changed to query page by id
* Fixed page query, Changed use-search GraphQl query
* Update use-search.tsx
* remove unused util
* Changed cookie expiration
* Update tsconfig.json
* Fix add to cart & prepare for user activation
* Update helpers.ts
* Update helpers.ts
* Changes, fix Shopify GraphQL deprecations
* Update checkout-to-cart.ts
* Default to BigCommerce
* Update index.ts
* Fixed types
* Update customer-access-token-delete.ts
* Fix item missing path
* Update customer-access-token-delete.ts
Co-authored-by: bc <bc@bcs-MacBook-Pro.fibertel.com.ar>
Co-authored-by: Luis Alvarez <luis@vercel.com>
Co-authored-by: cond0r <pinte_catalin@yahoo.com>
Co-authored-by: Peter Mekhaeil <4616064+petermekhaeil@users.noreply.github.com>
2021-04-13 11:00:29 -03:00
|
|
|
(await getPage({ variables: { id: pageItem.id! }, config, preview }))
|
2020-10-15 18:00:33 -05:00
|
|
|
const page = data?.page
|
|
|
|
|
|
|
|
if (!page) {
|
2020-10-25 13:31:12 -05:00
|
|
|
// We throw to make sure this fails at build time as this is never expected to happen
|
2020-10-15 18:00:33 -05:00
|
|
|
throw new Error(`Page with slug '${slug}' not found`)
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
2021-01-09 12:36:48 -03:00
|
|
|
props: { ...defaultPageProps, pages, page },
|
2020-10-25 13:31:12 -05:00
|
|
|
revalidate: 60 * 60, // Every hour
|
2020-10-15 18:00:33 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-10-29 19:03:43 -05:00
|
|
|
export async function getStaticPaths({ locales }: GetStaticPathsContext) {
|
2020-10-15 18:00:33 -05:00
|
|
|
const { pages } = await getAllPages()
|
2020-10-29 19:21:46 -05:00
|
|
|
const [invalidPaths, log] = missingLocaleInPages()
|
|
|
|
const paths = pages
|
|
|
|
.map((page) => page.url)
|
|
|
|
.filter((url) => {
|
|
|
|
if (!url || !locales) return url
|
|
|
|
// If there are locales, only include the pages that include one of the available locales
|
|
|
|
if (locales.includes(getSlug(url).split('/')[0])) return url
|
2020-10-15 18:00:33 -05:00
|
|
|
|
2020-10-29 19:21:46 -05:00
|
|
|
invalidPaths.push(url)
|
|
|
|
})
|
|
|
|
log()
|
2020-10-29 19:03:43 -05:00
|
|
|
|
2020-10-29 19:21:46 -05:00
|
|
|
return {
|
|
|
|
paths,
|
2020-10-15 18:00:33 -05:00
|
|
|
// Fallback shouldn't be enabled here or otherwise this route
|
|
|
|
// will catch every page, even 404s, and we don't want that
|
|
|
|
fallback: false,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default function Pages({
|
|
|
|
page,
|
|
|
|
}: InferGetStaticPropsType<typeof getStaticProps>) {
|
2020-10-15 18:42:03 -05:00
|
|
|
return (
|
2021-01-29 12:00:16 -03:00
|
|
|
<div className="max-w-2xl mx-8 sm:mx-auto py-20">
|
2020-11-26 13:38:37 -03:00
|
|
|
{page?.body && <Text html={page.body} />}
|
2020-10-15 18:42:03 -05:00
|
|
|
</div>
|
|
|
|
)
|
2020-10-15 18:00:33 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
Pages.Layout = Layout
|