From 7f5b9fc5fa47e8e73c7afe54aa1bde4dd035086e Mon Sep 17 00:00:00 2001 From: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com> Date: Fri, 22 Aug 2025 07:50:59 +0200 Subject: [PATCH] feat(medusa,dashboard): Add metadata UI to product tags domain + retrieve metadata by default (#13272) --- .changeset/smooth-shoes-cover.md | 6 +++++ .../dashboard-app/routes/get-route.map.tsx | 7 +++++ .../product-tag-detail/product-tag-detail.tsx | 1 + .../product-tag-metadata/index.ts | 1 + .../product-tag-metadata.tsx | 26 +++++++++++++++++++ .../api/admin/product-tags/query-config.ts | 1 + 6 files changed, 42 insertions(+) create mode 100644 .changeset/smooth-shoes-cover.md create mode 100644 packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/index.ts create mode 100644 packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx diff --git a/.changeset/smooth-shoes-cover.md b/.changeset/smooth-shoes-cover.md new file mode 100644 index 0000000000..303eddee06 --- /dev/null +++ b/.changeset/smooth-shoes-cover.md @@ -0,0 +1,6 @@ +--- +"@medusajs/dashboard": patch +"@medusajs/medusa": patch +--- + +fix(medusa,dashboard): Retrieve `metadata` for product_tags by default and add metadta UI to product tag domain in admin dashboard 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 1a0012a2a9..9643cb5114 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 @@ -1329,6 +1329,13 @@ export function getRouteMap({ lazy: () => import("../../routes/product-tags/product-tag-edit"), }, + { + path: "metadata/edit", + lazy: () => + import( + "../../routes/product-tags/product-tag-metadata" + ), + }, ], }, ], diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx index 784e317436..39c88ee711 100644 --- a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx @@ -40,6 +40,7 @@ export const ProductTagDetail = () => { before: getWidgets("product_tag.details.before"), }} showJSON + showMetadata data={product_tag} > diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/index.ts b/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/index.ts new file mode 100644 index 0000000000..1e126af25f --- /dev/null +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/index.ts @@ -0,0 +1 @@ +export { ProductTagMetadata as Component } from "./product-tag-metadata" diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx b/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx new file mode 100644 index 0000000000..42e9d59d39 --- /dev/null +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx @@ -0,0 +1,26 @@ +import { useParams } from "react-router-dom" +import { MetadataForm } from "../../../components/forms/metadata-form/metadata-form" +import { useProductTag, useUpdateProductTag } from "../../../hooks/api" + +export const ProductTagMetadata = () => { + const { id } = useParams() + + const { product_tag, isPending, isError, error } = useProductTag(id!) + + const { mutateAsync, isPending: isMutating } = useUpdateProductTag( + product_tag?.id! + ) + + if (isError) { + throw error + } + + return ( + + ) +} diff --git a/packages/medusa/src/api/admin/product-tags/query-config.ts b/packages/medusa/src/api/admin/product-tags/query-config.ts index 79b5ebef5e..391b51b5b2 100644 --- a/packages/medusa/src/api/admin/product-tags/query-config.ts +++ b/packages/medusa/src/api/admin/product-tags/query-config.ts @@ -3,6 +3,7 @@ export const defaultAdminProductTagFields = [ "value", "created_at", "updated_at", + "metadata", ] export const retrieveProductTagTransformQueryConfig = {