From d277218784666657beb0300500f185ea68e5316d Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Thu, 20 Aug 2026 02:39:41 +0200 Subject: [PATCH] feat(webui): preserve state in shared widget launches --- webui/src/components/DashboardWidgetContent.tsx | 9 ++++++++- webui/src/components/NavigationPreferenceEditor.tsx | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/webui/src/components/DashboardWidgetContent.tsx b/webui/src/components/DashboardWidgetContent.tsx index 1a9d640..7119f87 100644 --- a/webui/src/components/DashboardWidgetContent.tsx +++ b/webui/src/components/DashboardWidgetContent.tsx @@ -57,6 +57,8 @@ export type DashboardWidgetListItem = { leading?: ReactNode; trailing?: ReactNode; to?: string; + state?: unknown; + onClick?: () => void; }; export function DashboardWidgetList({ @@ -105,7 +107,12 @@ export function DashboardWidgetList({ return (
  • {item.to ? ( - + {content} ) : ( diff --git a/webui/src/components/NavigationPreferenceEditor.tsx b/webui/src/components/NavigationPreferenceEditor.tsx index ab9449f..b38d334 100644 --- a/webui/src/components/NavigationPreferenceEditor.tsx +++ b/webui/src/components/NavigationPreferenceEditor.tsx @@ -1,5 +1,6 @@ import { ArrowDown, ArrowUp, LockKeyhole } from "lucide-react"; import type { NavigationPreferences, PlatformNavItem } from "../types"; +import ActionToolbar from "./ActionToolbar"; import Button from "./Button"; import IconButton from "./IconButton"; import ToggleSwitch from "./ToggleSwitch"; @@ -66,14 +67,14 @@ export default function NavigationPreferenceEditor({ return (
    -
    +

    Higher personal settings take precedence over tenant and system order. Locked entries remain visible.

    -
    +
      {orderedIds.map((id, index) => { const item = byId.get(id);