diff --git a/.changeset/lucky-bikes-end.md b/.changeset/lucky-bikes-end.md new file mode 100644 index 0000000000..57ddd761a9 --- /dev/null +++ b/.changeset/lucky-bikes-end.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix(medusa): Resolve on scope instead of req diff --git a/.changeset/shy-years-attack.md b/.changeset/shy-years-attack.md new file mode 100644 index 0000000000..30cff0f42f --- /dev/null +++ b/.changeset/shy-years-attack.md @@ -0,0 +1,5 @@ +--- +"medusa-react": patch +--- + +fix(medusa-react): invalidate all reservations list queries diff --git a/.changeset/soft-stingrays-sell.md b/.changeset/soft-stingrays-sell.md new file mode 100644 index 0000000000..cc7ae0901c --- /dev/null +++ b/.changeset/soft-stingrays-sell.md @@ -0,0 +1,5 @@ +--- +"@medusajs/admin-ui": patch +--- + +Fix(admin-ui): Fix minor bugs related to the edit-allocation modal diff --git a/packages/admin-ui/ui/src/domain/orders/details/allocations/allocate-items-modal.tsx b/packages/admin-ui/ui/src/domain/orders/details/allocations/allocate-items-modal.tsx index c0e285a33f..658360b786 100644 --- a/packages/admin-ui/ui/src/domain/orders/details/allocations/allocate-items-modal.tsx +++ b/packages/admin-ui/ui/src/domain/orders/details/allocations/allocate-items-modal.tsx @@ -1,24 +1,25 @@ -import React, { useEffect, useMemo } from "react" +import { Controller, useForm, useWatch } from "react-hook-form" import { LineItem, Order, ReservationItemDTO } from "@medusajs/medusa" -import FocusModal from "../../../../components/molecules/modal/focus-modal" -import Button from "../../../../components/fundamentals/button" -import CrossIcon from "../../../../components/fundamentals/icons/cross-icon" -import Select from "../../../../components/molecules/select/next-select/select" +import { NestedForm, nestedForm } from "../../../../utils/nested-form" +import React, { useEffect, useMemo } from "react" import { useAdminCreateReservation, useAdminStockLocations, useAdminVariantsInventory, useMedusa, } from "medusa-react" -import { Controller, useForm, useWatch } from "react-hook-form" -import Thumbnail from "../../../../components/atoms/thumbnail" + +import Button from "../../../../components/fundamentals/button" +import CrossIcon from "../../../../components/fundamentals/icons/cross-icon" +import FocusModal from "../../../../components/molecules/modal/focus-modal" import InputField from "../../../../components/molecules/input" -import { NestedForm, nestedForm } from "../../../../utils/nested-form" -import { sum } from "lodash" +import Select from "../../../../components/molecules/select/next-select/select" +import Thumbnail from "../../../../components/atoms/thumbnail" import clsx from "clsx" -import { getFulfillableQuantity } from "../create-fulfillment/item-table" -import useNotification from "../../../../hooks/use-notification" import { getErrorMessage } from "../../../../utils/error-messages" +import { getFulfillableQuantity } from "../create-fulfillment/item-table" +import { sum } from "lodash" +import useNotification from "../../../../hooks/use-notification" type AllocationModalFormData = { location?: { label: string; value: string } @@ -121,11 +122,11 @@ const AllocateItemsModal: React.FC = ({
-
+
-
+
= ({ form, item, locationId, reservedQuantity }) => { + compact?: boolean +}> = ({ form, item, locationId, reservedQuantity, compact }) => { const { variant, isLoading } = useAdminVariantsInventory( item.variant_id as string ) @@ -260,44 +262,58 @@ export const AllocationLineItem: React.FC<{ inventoryItemReservationCapacity ) return ( -
-
-
+
+
+
-
-

-

{item.title}

- {`(${item.variant.sku})`} -

-

- {item.variant.options?.map((option) => option.value) || - item.variant.title || - "-"} -

-
-
-
-

{availableQuantity || "N/A"} available

-

({inStockQuantity || "N/A"} in stock)

-
- 0 ? maxReservation : 0} - suffix={ - - {"/"}{" "} - - {maxReservation > 0 ? maxReservation : 0} - - +
+

+

+ {item.title} +

+ {`(${item.variant.sku})`} +

+

+ {item.variant.options?.map((option) => option.value) || + item.variant.title || + "-"} +

+
+
+
+
+ )} + > +

{availableQuantity || "N/A"} available

+

({inStockQuantity || "N/A"} in stock)

+ 0 ? maxReservation : 0} + suffix={ + + {"/"}{" "} + + {maxReservation > 0 ? maxReservation : 0} + + + } + />
) diff --git a/packages/admin-ui/ui/src/domain/orders/details/allocations/edit-allocation-modal.tsx b/packages/admin-ui/ui/src/domain/orders/details/allocations/edit-allocation-modal.tsx index 8987513699..166944f266 100644 --- a/packages/admin-ui/ui/src/domain/orders/details/allocations/edit-allocation-modal.tsx +++ b/packages/admin-ui/ui/src/domain/orders/details/allocations/edit-allocation-modal.tsx @@ -1,21 +1,22 @@ -import { useEffect, useMemo } from "react" -import CrossIcon from "../../../../components/fundamentals/icons/cross-icon" -import Button from "../../../../components/fundamentals/button" import { AllocationLineItem, AllocationLineItemForm, } from "./allocate-items-modal" import { Controller, useForm, useWatch } from "react-hook-form" +import { LineItem, ReservationItemDTO } from "@medusajs/medusa" import { useAdminDeleteReservation, useAdminStockLocations, useAdminUpdateReservation, } from "medusa-react" +import { useEffect, useMemo } from "react" + +import Button from "../../../../components/fundamentals/button" +import CrossIcon from "../../../../components/fundamentals/icons/cross-icon" import Select from "../../../../components/molecules/select/next-select/select" -import { LineItem, ReservationItemDTO } from "@medusajs/medusa" -import useNotification from "../../../../hooks/use-notification" -import { nestedForm } from "../../../../utils/nested-form" import SideModal from "../../../../components/molecules/modal/side-modal" +import { nestedForm } from "../../../../utils/nested-form" +import useNotification from "../../../../hooks/use-notification" type EditAllocationLineItemForm = { location: { label: string; value: string } @@ -104,11 +105,14 @@ const EditAllocationDrawer = ({ }, [reservation, setValue]) const submit = (data: EditAllocationLineItemForm) => { + if (!data.item.quantity) { + return handleDelete() + } + updateReservation( { quantity: data.item.quantity, location_id: data.location.value, - inventory_item_id: data.item.inventory_item_id, }, { onSuccess: () => { @@ -125,18 +129,18 @@ const EditAllocationDrawer = ({ return ( -
+
-
+

Edit allocation

-
+

Location

@@ -163,6 +167,7 @@ const EditAllocationDrawer = ({
-
+