mirror of
https://github.com/vercel/commerce.git
synced 2025-06-20 14:11:20 +00:00
* TEC-252: Base integration with commercetools using fetchers for REST and GraphQL endpoints * TEC-252: WIP commenting some components that are failing while we don't have all the hooks defined * add sdk integration * TEC-256: Implementing product search * TEC-256: removing unnecessary env variables * TEC-256: review comments * TEC-256: other remaining review fixes Co-authored-by: nicossosa93 <nicolas.sosa@devgurus.io>
39 lines
917 B
TypeScript
39 lines
917 B
TypeScript
import type { ReactNode } from 'react'
|
|
import {
|
|
CommerceConfig,
|
|
CommerceProvider as CoreCommerceProvider,
|
|
useCommerce as useCoreCommerce,
|
|
} from '@commerce'
|
|
import {
|
|
commercetoolsProvider,
|
|
CommercetoolsProvider,
|
|
} from '@framework/provider'
|
|
|
|
export { commercetoolsProvider }
|
|
export type { CommercetoolsProvider }
|
|
|
|
export const commercetoolsConfig: CommerceConfig = {
|
|
locale: 'en-US',
|
|
cartCookie: '',
|
|
}
|
|
|
|
export type CommercetoolsConfig = Partial<CommerceConfig>
|
|
|
|
export type CommercetoolsProps = {
|
|
children?: ReactNode
|
|
locale: string
|
|
} & CommercetoolsConfig
|
|
|
|
export function CommerceProvider({ children, ...config }: CommercetoolsProps) {
|
|
return (
|
|
<CoreCommerceProvider
|
|
provider={commercetoolsProvider}
|
|
config={{ ...commercetoolsConfig, ...config }}
|
|
>
|
|
{children}
|
|
</CoreCommerceProvider>
|
|
)
|
|
}
|
|
|
|
export const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()
|