From 4d750c13d99f770292c25624b1053746a01aba9e Mon Sep 17 00:00:00 2001
From: Kasper Fabricius Kristensen
<45367945+kasperkristensen@users.noreply.github.com>
Date: Mon, 8 Jul 2024 10:03:04 +0200
Subject: [PATCH] make whole card clickable (#7984)
---
.../common/icon-avatar/icon-avatar.tsx | 2 +-
.../dashboard/src/i18n/translations/en.json | 14 +-
.../locations/location-list/location-list.tsx | 120 +++++++++---------
3 files changed, 72 insertions(+), 64 deletions(-)
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`)
- }
- >
-
-
-
-
-
+ }
+ />
)
}