From 4dcf35bd03f557a560d1cb313d604a392a9355b9 Mon Sep 17 00:00:00 2001 From: Sanne de Vries Date: Mon, 12 Oct 2026 08:54:55 +0200 Subject: [PATCH] Make the dashboard dropdowns consistent - Show a checkmark on the selected option in all dropdowns. - Use the same row padding, icon position and section title in all dropdowns. Adjust the widths of the dropdown panels. - Show the graph intervals as a list in the options menu. The menu closes when you select an interval. - Use lighter font weights in the tabs, the segment menu and the date picker. --- assets/css/flatpickr-colors.css | 2 +- assets/js/dashboard/components/popover.tsx | 12 ++++- .../components/segmented-control.tsx | 53 ------------------ assets/js/dashboard/components/tabs.tsx | 43 +++++++-------- .../extra/exploration/exploration-column.tsx | 5 +- .../nav-menu/dashboard-options-menu.tsx | 30 +++++++---- .../query-periods/comparison-period-menu.tsx | 18 ++++++- .../query-periods/dashboard-period-menu.tsx | 14 +++-- .../nav-menu/segments/segment-pill-menu.tsx | 2 +- .../nav-menu/segments/segments-submenu.tsx | 11 ++-- assets/js/dashboard/nav-menu/submenu.tsx | 5 +- assets/js/dashboard/site-switcher.tsx | 22 ++++++-- .../js/dashboard/stats/behaviours/index.tsx | 4 +- .../dashboard/stats/csv-export/csv-export.tsx | 2 +- .../dashboard/stats/graph/interval-picker.tsx | 54 ++++++++++++------- assets/js/dashboard/stats/pages/index.tsx | 4 +- e2e/tests/dashboard/top-stats.spec.ts | 1 + 17 files changed, 151 insertions(+), 131 deletions(-) delete mode 100644 assets/js/dashboard/components/segmented-control.tsx diff --git a/assets/css/flatpickr-colors.css b/assets/css/flatpickr-colors.css index 85dd0968edb5..6083d90e6010 100644 --- a/assets/css/flatpickr-colors.css +++ b/assets/css/flatpickr-colors.css @@ -147,7 +147,7 @@ span.flatpickr-weekday { /* Day cells */ .flatpickr-day { @apply mx-0 my-px h-9 max-w-none rounded-md border border-transparent - bg-transparent text-sm font-medium leading-[35px] + bg-transparent text-sm font-normal leading-[35px] text-gray-800 dark:text-gray-100; } diff --git a/assets/js/dashboard/components/popover.tsx b/assets/js/dashboard/components/popover.tsx index d5f691ac3c66..08629c96622c 100644 --- a/assets/js/dashboard/components/popover.tsx +++ b/assets/js/dashboard/components/popover.tsx @@ -46,7 +46,7 @@ const toggleButton = { } } -const staticRow = 'px-4 py-2.5 text-sm rounded-md' +const staticRow = 'px-3 py-2 text-sm rounded-md' const navigationLink = classNames( 'flex items-center justify-between', @@ -72,10 +72,15 @@ const items = { navigationLink, hoverLink, label: 'flex-1 min-w-0 truncate', + /** Use with a width. Keeps an svg icon on the first line of the row. */ + rowIcon: 'shrink-0 self-start h-lh', description: 'font-normal text-xs text-gray-500 dark:text-gray-400', + sectionTitle: + 'px-3 py-2 text-xs font-medium uppercase whitespace-nowrap text-gray-500 dark:text-gray-400', /** Full-width row that holds a leading icon and a `label` span. */ iconRow: classNames(navigationLink, hoverLink, 'gap-x-2 w-full text-left'), selectedOption: classNames( + 'gap-x-2', 'data-[selected=true]:bg-gray-100', 'data-[selected=true]:dark:bg-gray-700', 'data-[selected=true]:text-gray-900', @@ -96,7 +101,10 @@ export function SelectedCheckmark({ selected }: { selected: boolean }) { return null } return ( -