feat: add draft logout

This commit is contained in:
Bolaji Ayodeji 2021-09-02 12:32:26 +01:00 committed by Alessandro Casazza
parent 8f2b7695e6
commit e26a1497a8
No known key found for this signature in database
GPG Key ID: 3AF41B06C6495D3D
3 changed files with 20 additions and 10 deletions

View File

@ -1,5 +1,7 @@
import { useCallback } from 'react'
import { MutationHook } from '@commerce/utils/types' import { MutationHook } from '@commerce/utils/types'
import useLogout, { UseLogout } from '@commerce/auth/use-logout' import useLogout, { UseLogout } from '@commerce/auth/use-logout'
import Cookies from 'js-cookie'
export default useLogout as UseLogout<typeof handler> export default useLogout as UseLogout<typeof handler>
@ -10,8 +12,15 @@ export const handler: MutationHook<any> = {
async fetcher() { async fetcher() {
return null return null
}, },
useHook: useHook: ({ fetch }) => () => {
({ fetch }) =>
() => return useCallback(
async () => {}, async function logout() {
Cookies.remove('CL_CUSTOMER_ID')
Cookies.remove('CL_CUSTOMER_TOKEN')
alert("Logout successful!")
},
[fetch]
)
},
} }

View File

@ -1,6 +1,6 @@
import * as React from 'react' import * as React from 'react'
import { ReactNode } from 'react' import { ReactNode } from 'react'
import { localProvider } from './provider' import { CommercelayerProvider } from './provider'
import { import {
CommerceConfig, CommerceConfig,
CommerceProvider as CoreCommerceProvider, CommerceProvider as CoreCommerceProvider,
@ -8,7 +8,7 @@ import {
} from '@commerce' } from '@commerce'
import useToken from './auth/use-token' import useToken from './auth/use-token'
export const localConfig: CommerceConfig = { export const commercelayerConfig: CommerceConfig = {
locale: 'en-us', locale: 'en-us',
cartCookie: 'session', cartCookie: 'session',
} }
@ -24,8 +24,8 @@ export function CommerceProvider({
if (token) config.cartCookie = token if (token) config.cartCookie = token
return ( return (
<CoreCommerceProvider <CoreCommerceProvider
provider={localProvider} provider={CommercelayerProvider}
config={{ ...localConfig, ...config }} config={{ ...commercelayerConfig, ...config }}
> >
{children} {children}
</CoreCommerceProvider> </CoreCommerceProvider>

View File

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