diff --git a/packages/admin-next/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx b/packages/admin-next/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx
index 3c00d93aee..242d8950a5 100644
--- a/packages/admin-next/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx
+++ b/packages/admin-next/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx
@@ -18,7 +18,9 @@ export const InventoryItemReservationsSection = ({
{t("reservations.domain")}
diff --git a/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx b/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx
index 5ae336e0a9..b749d46256 100644
--- a/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx
+++ b/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx
@@ -44,7 +44,7 @@ const AttributeGridRow = ({
)
}
-export const CreateReservationForm = () => {
+export const CreateReservationForm = (props: { inventoryItemId?: string }) => {
const { t } = useTranslation()
const { handleSuccess } = useRouteModal()
const [inventorySearch, setInventorySearch] = React.useState(
@@ -53,7 +53,7 @@ export const CreateReservationForm = () => {
const form = useForm>({
defaultValues: {
- inventory_item_id: "",
+ inventory_item_id: props.inventoryItemId || "",
location_id: "",
quantity: 0,
description: "",
@@ -98,7 +98,11 @@ export const CreateReservationForm = () => {
dismissLabel: t("actions.close"),
description: t("inventory.reservation.successToast"),
})
- handleSuccess(`/reservations/${reservation.id}`)
+ handleSuccess(
+ props.inventoryItemId
+ ? `/inventory/${props.inventoryItemId}`
+ : `/reservations/${reservation.id}`
+ )
},
})
})
@@ -147,6 +151,7 @@ export const CreateReservationForm = () => {
onChange(v)
}}
{...field}
+ disabled={!!props.inventoryItemId}
options={(inventory_items ?? []).map(
(inventoryItem) => ({
label: inventoryItem.title ?? inventoryItem.sku!,
diff --git a/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx b/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx
index 0c0733b8b0..e6fd6850c1 100644
--- a/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx
+++ b/packages/admin-next/dashboard/src/routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx
@@ -1,10 +1,15 @@
import { CreateReservationForm } from "./components/create-reservation-form"
import { RouteFocusModal } from "../../../../components/route-modal"
+import { useSearchParams } from "react-router-dom"
export const CreateReservationModal = () => {
+ const [params] = useSearchParams()
+
+ const inventoryItemId = params.get("item_id")
+
return (
-
+
)
}