forked from crowetic/commerce
* Minimal list/detail views working with Vendure * Implement useCart/useAddItem * Implement useUpdateItem & useRemoveItem * Implement useSearch * Add operations codegen, tidy up * Dummy checkout page * Implement auth/customer hooks * Use env var for Shop API url * Add some documentation * Improve error handling * Optimize preview image size * Fix accidental change * Update Vendure provider to latest changes * Vendure provider: split out gql operations, remove unused files * Update Vendure provider readme * Add local next.config to Vendure provider, update docs * Update to use demo server * Fix build errors * Use proxy for vendure api * Simplify instructions in Vendure readme * Refactor Vendure checkout api handler * Improve image quality
34 lines
770 B
TypeScript
34 lines
770 B
TypeScript
import * as React from 'react'
|
|
import { ReactNode } from 'react'
|
|
import {
|
|
CommerceConfig,
|
|
CommerceProvider as CoreCommerceProvider,
|
|
useCommerce as useCoreCommerce,
|
|
} from '@commerce'
|
|
import { vendureProvider } from './provider'
|
|
|
|
export const vendureConfig: CommerceConfig = {
|
|
locale: 'en-us',
|
|
cartCookie: 'session',
|
|
}
|
|
|
|
export type VendureConfig = Partial<CommerceConfig>
|
|
|
|
export type VendureProps = {
|
|
children?: ReactNode
|
|
locale: string
|
|
} & VendureConfig
|
|
|
|
export function CommerceProvider({ children, ...config }: VendureProps) {
|
|
return (
|
|
<CoreCommerceProvider
|
|
provider={vendureProvider}
|
|
config={{ ...vendureConfig, ...config }}
|
|
>
|
|
{children}
|
|
</CoreCommerceProvider>
|
|
)
|
|
}
|
|
|
|
export const useCommerce = () => useCoreCommerce()
|