mirror of
https://github.com/vercel/commerce.git
synced 2025-03-15 06:52:32 +00:00
Removed the CartProvider
This commit is contained in:
parent
b5ee7feb46
commit
7758ea3199
@ -1,10 +1,8 @@
|
||||
import { CartProvider, useCart as useCommerceCart } from '@lib/commerce/cart'
|
||||
import { useCart as useCommerceCart } from '@lib/commerce/cart'
|
||||
import type { Cart } from '../api/cart'
|
||||
|
||||
export type { Cart }
|
||||
|
||||
export { CartProvider }
|
||||
|
||||
export function useCart() {
|
||||
const cart = useCommerceCart<Cart | null>()
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
import { FC, createContext, useContext, useMemo } from 'react'
|
||||
import useSWR, { responseInterface } from 'swr'
|
||||
import Cookies from 'js-cookie'
|
||||
import { useCommerce } from '..'
|
||||
@ -9,28 +8,15 @@ export type CartResponse<C> = responseInterface<C, Error> & {
|
||||
isEmpty: boolean
|
||||
}
|
||||
|
||||
export type CartProviderProps = {
|
||||
query?: string
|
||||
url?: string
|
||||
}
|
||||
|
||||
const CartContext = createContext<CartProviderProps>({})
|
||||
|
||||
const CartProvider: FC<CartProviderProps> = ({ children, query, url }) => {
|
||||
const value = useMemo(() => ({ query, url }), [query, url])
|
||||
return <CartContext.Provider value={value}>{children}</CartContext.Provider>
|
||||
}
|
||||
|
||||
function useCart<C>() {
|
||||
const { fetcherRef, cartCookie } = useCommerce()
|
||||
const fetcher = (url?: string, query?: string) =>
|
||||
Cookies.get(cartCookie) ? fetcherRef.current({ url, query }) : null
|
||||
const { url = CART_API, query } = useContext(CartContext)
|
||||
const response = useSWR([url, query], fetcher, {
|
||||
const response = useSWR([CART_API, undefined], fetcher, {
|
||||
revalidateOnFocus: false,
|
||||
})
|
||||
|
||||
return Object.assign(response, { isEmpty: true }) as CartResponse<C>
|
||||
}
|
||||
|
||||
export { CartProvider, useCart }
|
||||
export { useCart }
|
||||
|
Loading…
x
Reference in New Issue
Block a user