diff --git a/packages/admin-next/dashboard/src/components/common/icon-avatar/icon-avatar.tsx b/packages/admin-next/dashboard/src/components/common/icon-avatar/icon-avatar.tsx index ab7f739e63..1226cbd7b0 100644 --- a/packages/admin-next/dashboard/src/components/common/icon-avatar/icon-avatar.tsx +++ b/packages/admin-next/dashboard/src/components/common/icon-avatar/icon-avatar.tsx @@ -14,7 +14,7 @@ export const IconAvatar = ({ children, className }: IconAvatarProps) => { return (
div]:bg-ui-bg-field [&>div]:text-ui-fg-subtle [&>div]:flex [&>div]:size-6 [&>div]:items-center [&>div]:justify-center [&>div]:rounded-[4px]", className )} diff --git a/packages/admin-next/dashboard/src/i18n/translations/en.json b/packages/admin-next/dashboard/src/i18n/translations/en.json index f7fa52b375..f2b39adf70 100644 --- a/packages/admin-next/dashboard/src/i18n/translations/en.json +++ b/packages/admin-next/dashboard/src/i18n/translations/en.json @@ -900,11 +900,15 @@ } }, "sidebar": { - "shippingConfiguration": "Shipping configuration", - "shippingProfiles": "Shipping profiles", - "shippingProfilesDesc": "Shipping rules for different types of products", - "shippingOptionTypes": "Shipping Option Types", - "shippingOptionTypesDesc": "Group options based on characteristic" + "header": "Shipping Configuration", + "shippingProfiles": { + "label": "Shipping Profiles", + "description": "Group products by shipping requirements" + }, + "shippingOptionTypes": { + "label": "Shipping Option Types", + "description": "Group options based on characteristic" + } }, "salesChannels": { "header": "Sales Channels", diff --git a/packages/admin-next/dashboard/src/routes/locations/location-list/location-list.tsx b/packages/admin-next/dashboard/src/routes/locations/location-list/location-list.tsx index 5c5f04cbd2..8ac1854d40 100644 --- a/packages/admin-next/dashboard/src/routes/locations/location-list/location-list.tsx +++ b/packages/admin-next/dashboard/src/routes/locations/location-list/location-list.tsx @@ -1,15 +1,17 @@ -import { Outlet, useLoaderData, useNavigate } from "react-router-dom" -import { Container, Heading, IconButton } from "@medusajs/ui" import { ArrowUpRightOnBox, Buildings, ShoppingBag } from "@medusajs/icons" +import { Container, Heading, Text } from "@medusajs/ui" import { useTranslation } from "react-i18next" +import { Link, Outlet, useLoaderData } from "react-router-dom" import { useStockLocations } from "../../../hooks/api/stock-locations" import LocationListItem from "./components/location-list-item/location-list-item" import { LOCATION_LIST_FIELDS } from "./constants" import { shippingListLoader } from "./loader" +import { ReactNode } from "react" import after from "virtual:medusa/widgets/location/list/after" import before from "virtual:medusa/widgets/location/list/before" +import { IconAvatar } from "../../../components/common/icon-avatar" import { LocationListHeader } from "./components/location-list-header" export function LocationList() { @@ -67,71 +69,73 @@ export function LocationList() { ) } +interface SidebarLinkProps { + to: string + labelKey: string + descriptionKey: string + icon: ReactNode +} + +const SidebarLink = ({ + to, + labelKey, + descriptionKey, + icon, +}: SidebarLinkProps) => { + return ( + +
+
+
+ {icon} +
+ + {labelKey} + + + {descriptionKey} + +
+
+ +
+
+
+
+ + ) +} + const LinksSection = () => { const { t } = useTranslation() - const navigate = useNavigate() return (
- - {t("stockLocations.sidebar.shippingConfiguration")} - + {t("stockLocations.sidebar.header")}
-
-
-
-
- -
-
- - {t("stockLocations.sidebar.shippingProfiles")} - - - {t("stockLocations.sidebar.shippingProfilesDesc")} - -
- navigate(`/settings/locations/shipping-profiles`)} - > - - -
-
-
+ } + /> -
-
-
-
- -
-
- - {t("stockLocations.sidebar.shippingOptionTypes")} - - - {t("stockLocations.sidebar.shippingOptionTypesDesc")} - -
- - navigate(`/settings/locations/shipping-option-types`) - } - > - - -
-
-
+ } + />
) }