Updated providers and local setup

This commit is contained in:
Luis Alvarez 2021-08-27 12:23:45 -05:00
parent 94c0b09ef6
commit 94997a1324
6 changed files with 12 additions and 36 deletions

View File

@ -1,4 +1,4 @@
# Available providers: bigcommerce, shopify, swell
# Available providers: local, bigcommerce, shopify, swell
COMMERCE_PROVIDER=
BIGCOMMERCE_STOREFRONT_API_URL=

View File

@ -1,6 +1,5 @@
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { bigcommerceProvider } from './provider'
import type { BigcommerceProvider } from './provider'
import { bigcommerceProvider, BigcommerceProvider } from './provider'
export { bigcommerceProvider }
export type { BigcommerceProvider }

View File

@ -8,12 +8,12 @@ const merge = require('deepmerge')
const prettier = require('prettier')
const PROVIDERS = [
'local',
'bigcommerce',
'saleor',
'shopify',
'swell',
'vendure',
'local',
]
function getProviderName() {

View File

@ -1,32 +1,9 @@
import * as React from 'react'
import { ReactNode } from 'react'
import { localProvider } from './provider'
import {
CommerceConfig,
CommerceProvider as CoreCommerceProvider,
useCommerce as useCoreCommerce,
} from '@commerce'
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { localProvider, LocalProvider } from './provider'
export const localConfig: CommerceConfig = {
locale: 'en-us',
cartCookie: 'session',
}
export { localProvider }
export type { LocalProvider }
export function CommerceProvider({
children,
...config
}: {
children?: ReactNode
locale: string
} & Partial<CommerceConfig>) {
return (
<CoreCommerceProvider
provider={localProvider}
config={{ ...localConfig, ...config }}
>
{children}
</CoreCommerceProvider>
)
}
export const CommerceProvider = getCommerceProvider(localProvider)
export const useCommerce = () => useCoreCommerce()
export const useCommerce = () => useCoreCommerce<LocalProvider>()

View File

@ -9,7 +9,6 @@ import { handler as useLogin } from './auth/use-login'
import { handler as useLogout } from './auth/use-logout'
import { handler as useSignup } from './auth/use-signup'
export type Provider = typeof localProvider
export const localProvider = {
locale: 'en-us',
cartCookie: 'session',
@ -19,3 +18,5 @@ export const localProvider = {
products: { useSearch },
auth: { useLogin, useLogout, useSignup },
}
export type LocalProvider = typeof localProvider

View File

@ -1,6 +1,5 @@
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { shopifyProvider } from './provider'
import type { ShopifyProvider } from './provider'
import { shopifyProvider, ShopifyProvider } from './provider'
export { shopifyProvider }
export type { ShopifyProvider }