From 8d22df512315230d5d7e282c60f871bc858e8a7f Mon Sep 17 00:00:00 2001 From: ajnart <49837342+ajnart@users.noreply.github.com> Date: Mon, 29 Jun 2026 15:26:09 +0200 Subject: [PATCH] fix(widgets): gate context menu behind authenticated session - Only show right-click context menu for logged-in users - Unauthenticated users see plain children without menu wrapper - Matches existing BoardItemMenu session gating pattern --- .../nextjs/src/components/board/items/widget-context-menu.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/nextjs/src/components/board/items/widget-context-menu.tsx b/apps/nextjs/src/components/board/items/widget-context-menu.tsx index a4602ed40..98c2ad62e 100644 --- a/apps/nextjs/src/components/board/items/widget-context-menu.tsx +++ b/apps/nextjs/src/components/board/items/widget-context-menu.tsx @@ -5,6 +5,7 @@ import { Menu } from "@mantine/core"; import { IconCopy, IconLayoutKanban, IconPencil, IconTrash } from "@tabler/icons-react"; import { clientApi } from "@homarr/api/client"; +import { useSession } from "@homarr/auth/client"; import { useRequiredBoard } from "@homarr/boards/context"; import { useEditMode } from "@homarr/boards/edit-mode"; import { useConfirmModal, useModalAction } from "@homarr/modals"; @@ -27,6 +28,7 @@ interface WidgetContextMenuProps { } export const WidgetContextMenu = ({ item, widgetStateRef, children }: WidgetContextMenuProps) => { + const { data: session } = useSession(); const [isEditMode] = useEditMode(); const board = useRequiredBoard(); const tItem = useScopedI18n("item"); @@ -204,6 +206,8 @@ export const WidgetContextMenu = ({ item, widgetStateRef, children }: WidgetCont duplicateItem, ]); + if (!session) return <>{children}>; + return (