merge main (#1)

* Update README.md to include information on how to add a custom provider (#250)

* Update README.md

* Updated commerce readme

Co-authored-by: Luis Alvarez D <luis@vercel.com>

* Remove unused provider config (#459)

* Updated core types for commerce provider

* Updated bigcommerce provider

* Added util method for provider creation

* Removed unrequired code from saleor

* Updated shopify provider

* Updated providers and local setup

* Updated saleor setup

* Updated swell

* Updated vendure

* Updated swell-js usage

* Removed unrequired import from saleor

Co-authored-by: Isiko Saidiali <54436062+SaidiAli@users.noreply.github.com>
Co-authored-by: Luis Alvarez D <luis@vercel.com>
This commit is contained in:
Kasper Fabricius Kristensen
2021-09-03 16:36:22 +02:00
committed by GitHub
parent 0e7e7b7d5f
commit abaf7220dc
21 changed files with 99 additions and 265 deletions

View File

@@ -1,47 +1,9 @@
import * as React from 'react'
import swell from 'swell-js'
import { ReactNode } from 'react'
import {
CommerceConfig,
CommerceProvider as CoreCommerceProvider,
useCommerce as useCoreCommerce,
} from '@commerce'
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { swellProvider, SwellProvider } from './provider'
import {
SWELL_CHECKOUT_ID_COOKIE,
SWELL_STORE_ID,
SWELL_PUBLIC_KEY,
} from './const'
swell.init(SWELL_STORE_ID, SWELL_PUBLIC_KEY)
export { swellProvider }
export type { SwellProvider }
export const swellConfig: any = {
locale: 'en-us',
cartCookie: SWELL_CHECKOUT_ID_COOKIE,
swell,
}
export const CommerceProvider = getCommerceProvider(swellProvider)
export type SwellConfig = Partial<CommerceConfig>
export type SwellProps = {
children?: ReactNode
locale: string
} & SwellConfig
export function CommerceProvider({ children, ...config }: SwellProps) {
return (
<CoreCommerceProvider
// TODO: Fix this type
provider={swellProvider as any}
config={{ ...swellConfig, ...config }}
>
{children}
</CoreCommerceProvider>
)
}
export const useCommerce = () => useCoreCommerce()
export const useCommerce = () => useCoreCommerce<SwellProvider>()