From c1c0e1490a25693f26852d74c56071d46e88d363 Mon Sep 17 00:00:00 2001 From: Radek Napora <78928539+radeknapora@users.noreply.github.com> Date: Tue, 28 Oct 2025 13:11:50 +0100 Subject: [PATCH] fix(dashboard) Standardize heading levels for consistent hierarchy (#13861) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary **What** — What changes are introduced in this PR? This PR standardizes heading levels across dashboard components to maintain proper semantic HTML hierarchy. **Why** — Why are these changes relevant or necessary? *Please provide answer here* **How** — How have these changes been implemented? - Added optional `headingLevel` prop `"h1" | "h2" | "h3"` to `DataTable` component with default value of `"h1"` - Modified `Heading` component usage to explicitly specify the appropriate level based on context **Testing** — How have these changes been tested, or how can the reviewer test the feature? *Please provide answer here* --- ## Checklist Please ensure the following before requesting a review: - [x] I have added a **changeset** for this PR - Every non-breaking change should be marked as a **patch** - To add a changeset, run `yarn changeset` and follow the prompts - [ ] The changes are covered by relevant **tests** - [x] I have verified the code works as intended locally - [ ] I have linked the related issue(s) if applicable --- .changeset/hungry-buses-fry.md | 5 +++++ .../src/components/data-table/data-table.tsx | 4 +++- .../api-key-sales-channel-section.tsx | 1 + .../api-key-management-list-table.tsx | 2 +- .../components/campaign-budget/campaign-budget.tsx | 11 +++-------- .../components/campaign-spend/campaign-spend.tsx | 2 +- .../campaign-list/components/campaign-list-table.tsx | 2 +- .../components/inventory-item-location-levels.tsx | 2 +- .../components/inventory-item-reservations.tsx | 2 +- .../price-list-product-section.tsx | 2 +- .../product-variant-section.tsx | 1 + .../product-list-table/product-list-table.tsx | 2 +- .../promotion-conditions-section.tsx | 2 +- .../promotion-list-table/promotion-list-table.tsx | 2 +- 14 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 .changeset/hungry-buses-fry.md diff --git a/.changeset/hungry-buses-fry.md b/.changeset/hungry-buses-fry.md new file mode 100644 index 0000000000..1b3d2ca3f2 --- /dev/null +++ b/.changeset/hungry-buses-fry.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +fix(dashboard) standardize heading levels for consistent hierarchy diff --git a/packages/admin/dashboard/src/components/data-table/data-table.tsx b/packages/admin/dashboard/src/components/data-table/data-table.tsx index 770baef32d..9c09fd0748 100644 --- a/packages/admin/dashboard/src/components/data-table/data-table.tsx +++ b/packages/admin/dashboard/src/components/data-table/data-table.tsx @@ -77,6 +77,7 @@ interface DataTableProps { rowHref?: (row: TData) => string emptyState?: DataTableEmptyStateProps heading?: string + headingLevel?: "h1" | "h2" | "h3" subHeading?: string prefix?: string pageSize?: number @@ -117,6 +118,7 @@ export const DataTable = ({ enableFilterMenu, rowHref, heading, + headingLevel = "h1", subHeading, prefix, pageSize = 10, @@ -384,7 +386,7 @@ export const DataTable = ({
{shouldRenderHeading && (
- {heading && {heading}} + {heading && {heading}} {subHeading && ( {subHeading} diff --git a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx index 2d064fad15..4105b46b61 100644 --- a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx +++ b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx @@ -56,6 +56,7 @@ export const ApiKeySalesChannelSection = ({ filters={filters} commands={commands} heading={t("salesChannels.domain")} + headingLevel="h2" getRowId={(row) => row.id} rowCount={count} isLoading={isPending} diff --git a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx index 7f857424b1..e95ea2ce14 100644 --- a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx +++ b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx @@ -53,7 +53,7 @@ export const ApiKeyManagementListTable = ({
- + {keyType === "publishable" ? t(`apiKeyManagement.domain.publishable`) : t("apiKeyManagement.domain.secret")} diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx index 39d763ac60..8827f97a61 100644 --- a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx @@ -30,19 +30,14 @@ export const CampaignBudget = ({ campaign }: CampaignBudgetProps) => { return (
-
-
+
+
- - {getTranslation()} - + {getTranslation()}
{
- + {campaign.budget?.type === "use_by_attribute" ? t("campaigns.fields.totalUsedByAttribute") : campaign.budget?.type === "spend" diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx b/packages/admin/dashboard/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx index 7137dfd348..5df5530f85 100644 --- a/packages/admin/dashboard/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx @@ -50,7 +50,7 @@ export const CampaignListTable = () => { return (
- {t("campaigns.domain")} + {t("campaigns.domain")} diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx b/packages/admin/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx index 293fb7e444..935ccbda5a 100644 --- a/packages/admin/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx @@ -15,7 +15,7 @@ export const InventoryItemReservationsSection = ({ return (
- {t("reservations.domain")} + {t("reservations.domain")}