matias-delavega-dg-dmi 716b540966
TEC-252 and TEC-256: Implementing fetchers, products list and search (#5)
* 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>
2021-06-30 10:05:26 -03:00

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>()