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 ( - + ) }