From 67b9e8f96c9b807958ef46dd946147edc1c09c04 Mon Sep 17 00:00:00 2001 From: JonasBa Date: Mon, 20 Apr 2026 08:59:19 -0700 Subject: [PATCH 1/5] ref(dashboards): Reorder Edit before Editors in page frame action bar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the page frame layout, the Edit button now appears before the Editors (edit access) selector. Previously, the order placed the Edit button after the Editors selector, separating it from the Add Widget button without a clear grouping rationale. The new order (Edit → Editors → Star → Add Widget) keeps editing-intent actions together. Both Edit and Editors now use tooltipProps for consistent tooltip behavior in the page frame path. Refs DE-1112 Co-Authored-By: Claude --- static/app/views/dashboards/controls.tsx | 74 +++++++++++++++++++++--- static/app/views/dashboards/detail.tsx | 1 + 2 files changed, 68 insertions(+), 7 deletions(-) diff --git a/static/app/views/dashboards/controls.tsx b/static/app/views/dashboards/controls.tsx index 59a636e73443..25c396c40d94 100644 --- a/static/app/views/dashboards/controls.tsx +++ b/static/app/views/dashboards/controls.tsx @@ -47,6 +47,7 @@ type Props = { onEdit: () => void; organization: Organization; widgetLimitReached: boolean; + hasPageFrameFeature?: boolean; hasUnsavedFilters?: boolean; isSaving?: boolean; onChangeEditAccess?: (newDashboardPermissions: DashboardPermissions) => void; @@ -65,6 +66,7 @@ export function Controls({ onCancel, onAddWidget, isSaving, + hasPageFrameFeature, }: Props) { const [isFavorited, setIsFavorited] = useState(dashboard.isFavorited); const queryClient = useQueryClient(); @@ -263,6 +265,54 @@ export function Controls({ ); }; + const renderPageFrameEditButton = (hasFeature: boolean) => { + if (!hasFeature) { + return null; + } + if (isPrebuiltDashboard) { + return ( +