feat: medusa-react admin hooks (#978)

* add: medusa admin hooks + tests

* fix: remove unneeded props

* fix: deps

* fix: deps

* fix: deps

* fix: failing tests

* fix: failing tests

* fix: query key

* add: yarn workspaces

* fix: linting medusa-react

* fix: add prepare script

* fix: buildOptions

* fix: useAdminShippingOptions query

* fix: use qs instead for query params (#1019)

* fix: formatting

* debug: ci pipeline

* debug: log node_modules structure

* debug: use lerna bootstrap

* debug: update node version

* debug: print pkgs in workspace

* debug: print pkgs in workspace

* debug: print pkgs in workspace

* debug: print pkgs in workspace

* debug: add explicit build step

* fix: jsdoc

* debug: run build step

* debug: fix build errors

* debug: add build step to integration tests

* fix: failing test

* cleanup

Co-authored-by: Sebastian Rindom <seb@medusajs.com>
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
Zakaria El Asri
2022-02-02 17:10:56 +01:00
committed by GitHub
co-authored by Sebastian Rindom Sebastian Rindom
parent 24175025d1
commit 2e384842d5
209 changed files with 27917 additions and 2727 deletions
+2 -2
View File
@@ -6,7 +6,7 @@ import {
useSetPaymentSession,
useUpdateCart,
useCreatePaymentSession,
} from "../hooks/carts"
} from "../hooks/store/"
import { Cart } from "../types"
interface CartState {
@@ -75,7 +75,7 @@ export const CartProvider = ({
const completeCheckout = useCompleteCart(cart?.id)
const totalItems = cart?.items
.map((i) => i.quantity)
.map(i => i.quantity)
.reduce((acc, curr) => acc + curr, 0)
return (
@@ -20,17 +20,23 @@ interface MedusaProviderProps {
baseUrl: string
queryClientProviderProps: QueryClientProviderProps
children: React.ReactNode
apiKey?: string
}
export const MedusaProvider = ({
queryClientProviderProps,
baseUrl,
apiKey,
children,
}: MedusaProviderProps) => {
const medusaClient = new Medusa({ baseUrl, maxRetries: 0 })
const medusaClient = new Medusa({ baseUrl, maxRetries: 0, apiKey })
return (
<QueryClientProvider {...queryClientProviderProps}>
<MedusaContext.Provider value={{ client: medusaClient }}>
<MedusaContext.Provider
value={{
client: medusaClient,
}}
>
{children}
</MedusaContext.Provider>
</QueryClientProvider>
@@ -1,7 +1,7 @@
import React, { useContext, useEffect } from "react"
import { useLocalStorage } from "../hooks/utils"
import { RegionInfo, ProductVariant } from "../types"
import { getVariantPrice } from "../utils"
import { getVariantPrice } from "../helpers"
import { isArray, isEmpty, isObject } from "lodash"
interface Item {
@@ -72,7 +72,7 @@ const reducer = (state: SessionCartState, action: Action) => {
}
case ACTION_TYPES.ADD_ITEM: {
const duplicateVariantIndex = state.items.findIndex(
(item) => item.variant.id === action.payload?.variant?.id
item => item.variant.id === action.payload?.variant?.id
)
if (duplicateVariantIndex !== -1) {
state.items.splice(duplicateVariantIndex, 1)
@@ -81,7 +81,7 @@ const reducer = (state: SessionCartState, action: Action) => {
return generateCartState(state, items)
}
case ACTION_TYPES.UPDATE_ITEM: {
const items = state.items.map((item) =>
const items = state.items.map(item =>
item.variant.id === action.payload.id
? { ...item, ...action.payload.item }
: item
@@ -91,7 +91,7 @@ const reducer = (state: SessionCartState, action: Action) => {
}
case ACTION_TYPES.REMOVE_ITEM: {
const items = state.items.filter(
(item) => item.variant.id !== action.payload.id
item => item.variant.id !== action.payload.id
)
return generateCartState(state, items)
}
@@ -122,7 +122,7 @@ export const generateCartState = (state: SessionCartState, items: Item[]) => {
}
const generateItems = (region: RegionInfo, items: Item[]) => {
return items.map((item) => ({
return items.map(item => ({
...item,
total: getVariantPrice(item.variant, region),
}))
@@ -171,7 +171,7 @@ export const SessionCartProvider = ({
}
const getItem = (id: string) => {
return state.items.find((item) => item.variant.id === id)
return state.items.find(item => item.variant.id === id)
}
const setItems = (items: Item[]) => {