From 65dfcf9be4a4cc5ffac1794879fc1bc51956d296 Mon Sep 17 00:00:00 2001
From: William Bouchard <46496014+willbouch@users.noreply.github.com>
Date: Thu, 28 Aug 2025 09:31:51 -0400
Subject: [PATCH] chore(dashboard): move shipping option type page (#13323)
* chore(dashboard): move shipping option type page
* small issue with the toast for edit
---
.changeset/shaggy-gifts-grow.md | 5 +
.../settings-layout/settings-layout.tsx | 4 -
.../dashboard-app/routes/get-route.map.tsx | 107 +++++++++---------
.../src/i18n/translations/$schema.json | 15 ++-
.../dashboard/src/i18n/translations/en.json | 4 +
.../locations/location-list/location-list.tsx | 10 +-
...use-delete-shipping-option-type-action.tsx | 4 +-
.../create-shipping-option-type-form.tsx | 2 +-
.../edit-shipping-option-type-form.tsx | 2 +-
...shipping-option-type-table-row-actions.tsx | 2 +-
10 files changed, 92 insertions(+), 63 deletions(-)
create mode 100644 .changeset/shaggy-gifts-grow.md
diff --git a/.changeset/shaggy-gifts-grow.md b/.changeset/shaggy-gifts-grow.md
new file mode 100644
index 0000000000..b1186187d6
--- /dev/null
+++ b/.changeset/shaggy-gifts-grow.md
@@ -0,0 +1,5 @@
+---
+"@medusajs/dashboard": patch
+---
+
+chore(dashboard): move shipping option type page
diff --git a/packages/admin/dashboard/src/components/layout/settings-layout/settings-layout.tsx b/packages/admin/dashboard/src/components/layout/settings-layout/settings-layout.tsx
index 1da7d7be89..dfdc4900c5 100644
--- a/packages/admin/dashboard/src/components/layout/settings-layout/settings-layout.tsx
+++ b/packages/admin/dashboard/src/components/layout/settings-layout/settings-layout.tsx
@@ -47,10 +47,6 @@ const useSettingRoutes = (): INavItem[] => {
label: t("salesChannels.domain"),
to: "/settings/sales-channels",
},
- {
- label: t("shippingOptionTypes.domain"),
- to: "/settings/shipping-option-types",
- },
{
label: t("productTypes.domain"),
to: "/settings/product-types",
diff --git a/packages/admin/dashboard/src/dashboard-app/routes/get-route.map.tsx b/packages/admin/dashboard/src/dashboard-app/routes/get-route.map.tsx
index 9643cb5114..da0c7fb6f1 100644
--- a/packages/admin/dashboard/src/dashboard-app/routes/get-route.map.tsx
+++ b/packages/admin/dashboard/src/dashboard-app/routes/get-route.map.tsx
@@ -1183,6 +1183,60 @@ export function getRouteMap({
},
],
},
+ {
+ path: "shipping-option-types",
+ errorElement: ,
+ element: ,
+ handle: {
+ breadcrumb: () => t("shippingOptionTypes.domain"),
+ },
+ children: [
+ {
+ path: "",
+ lazy: () =>
+ import(
+ "../../routes/shipping-option-types/shipping-option-type-list"
+ ),
+ children: [
+ {
+ path: "create",
+ lazy: () =>
+ import(
+ "../../routes/shipping-option-types/shipping-option-type-create"
+ ),
+ },
+ ],
+ },
+ {
+ path: ":id",
+ lazy: async () => {
+ const { Component, Breadcrumb, loader } = await import(
+ "../../routes/shipping-option-types/shipping-option-type-detail"
+ )
+
+ return {
+ Component,
+ loader,
+ handle: {
+ breadcrumb: (
+ // eslint-disable-next-line max-len
+ match: UIMatch
+ ) => ,
+ },
+ }
+ },
+ children: [
+ {
+ path: "edit",
+ lazy: () =>
+ import(
+ "../../routes/shipping-option-types/shipping-option-type-edit"
+ ),
+ },
+ ],
+ },
+ ],
+ },
{
path: ":location_id",
lazy: async () => {
@@ -1376,59 +1430,6 @@ export function getRouteMap({
},
],
},
- {
- path: "shipping-option-types",
- errorElement: ,
- element: ,
- handle: {
- breadcrumb: () => t("shippingOptionTypes.domain"),
- },
- children: [
- {
- path: "",
- lazy: () =>
- import(
- "../../routes/shipping-option-types/shipping-option-type-list"
- ),
- children: [
- {
- path: "create",
- lazy: () =>
- import(
- "../../routes/shipping-option-types/shipping-option-type-create"
- ),
- },
- ],
- },
- {
- path: ":id",
- lazy: async () => {
- const { Component, Breadcrumb, loader } = await import(
- "../../routes/shipping-option-types/shipping-option-type-detail"
- )
-
- return {
- Component,
- loader,
- handle: {
- breadcrumb: (
- match: UIMatch
- ) => ,
- },
- }
- },
- children: [
- {
- path: "edit",
- lazy: () =>
- import(
- "../../routes/shipping-option-types/shipping-option-type-edit"
- ),
- },
- ],
- },
- ],
- },
{
path: "product-types",
errorElement: ,
diff --git a/packages/admin/dashboard/src/i18n/translations/$schema.json b/packages/admin/dashboard/src/i18n/translations/$schema.json
index cd8d9397f8..cf25cca9b3 100644
--- a/packages/admin/dashboard/src/i18n/translations/$schema.json
+++ b/packages/admin/dashboard/src/i18n/translations/$schema.json
@@ -5934,9 +5934,22 @@
},
"required": ["label", "description"],
"additionalProperties": false
+ },
+ "shippingOptionTypes": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "required": ["label", "description"],
+ "additionalProperties": false
}
},
- "required": ["header", "shippingProfiles"],
+ "required": ["header", "shippingProfiles", "shippingOptionTypes"],
"additionalProperties": false
},
"salesChannels": {
diff --git a/packages/admin/dashboard/src/i18n/translations/en.json b/packages/admin/dashboard/src/i18n/translations/en.json
index 668be1ee21..07f7791bff 100644
--- a/packages/admin/dashboard/src/i18n/translations/en.json
+++ b/packages/admin/dashboard/src/i18n/translations/en.json
@@ -1567,6 +1567,10 @@
"shippingProfiles": {
"label": "Shipping Profiles",
"description": "Group products by shipping requirements"
+ },
+ "shippingOptionTypes": {
+ "label": "Shipping Option Types",
+ "description": "Group shipping options by types"
}
},
"salesChannels": {
diff --git a/packages/admin/dashboard/src/routes/locations/location-list/location-list.tsx b/packages/admin/dashboard/src/routes/locations/location-list/location-list.tsx
index 03d82aa6cf..f9f62897bb 100644
--- a/packages/admin/dashboard/src/routes/locations/location-list/location-list.tsx
+++ b/packages/admin/dashboard/src/routes/locations/location-list/location-list.tsx
@@ -1,4 +1,4 @@
-import { ShoppingBag } from "@medusajs/icons"
+import { ShoppingBag, TruckFast } from "@medusajs/icons"
import { Container, Heading } from "@medusajs/ui"
import { useTranslation } from "react-i18next"
import { useLoaderData } from "react-router-dom"
@@ -77,6 +77,14 @@ const LinksSection = () => {
)}
icon={}
/>
+ }
+ />
)
}
diff --git a/packages/admin/dashboard/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx b/packages/admin/dashboard/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx
index 58973b2ab9..50188d8ab7 100644
--- a/packages/admin/dashboard/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx
+++ b/packages/admin/dashboard/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx
@@ -28,7 +28,9 @@ export const useDeleteShippingOptionTypeAction = (
await mutateAsync(undefined, {
onSuccess: () => {
- navigate("/settings/shipping-option-types", { replace: true })
+ navigate("/settings/locations/shipping-option-types", {
+ replace: true,
+ })
toast.success(t("shippingOptionTypes.delete.successToast", { label }))
},
onError: (e) => {
diff --git a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx
index 8b52dc1350..acd69e5d65 100644
--- a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx
+++ b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx
@@ -48,7 +48,7 @@ export const CreateShippingOptionTypeForm = () => {
)
handleSuccess(
- `/settings/shipping-option-types/${shipping_option_type.id}`
+ `/settings/locations/shipping-option-types/${shipping_option_type.id}`
)
},
onError: (e) => {
diff --git a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx
index e544867c0a..5a1bd1e151 100644
--- a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx
+++ b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx
@@ -49,7 +49,7 @@ export const EditShippingOptionTypeForm = ({
onSuccess: ({ shipping_option_type }) => {
toast.success(
t("shippingOptionTypes.edit.successToast", {
- value: shipping_option_type.label,
+ label: shipping_option_type.label,
})
)
handleSuccess()
diff --git a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx
index 46ca46d377..e96e599f1c 100644
--- a/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx
+++ b/packages/admin/dashboard/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx
@@ -25,7 +25,7 @@ export const ShippingOptionTypeRowActions = ({
{
label: t("actions.edit"),
icon: ,
- to: `/settings/shipping-option-types/${shippingOptionType.id}/edit`,
+ to: `/settings/locations/shipping-option-types/${shippingOptionType.id}/edit`,
},
],
},