diff --git a/apps/nextjs/src/components/board/items/item-content.tsx b/apps/nextjs/src/components/board/items/item-content.tsx index 5cfd613dc..d8505a0c7 100644 --- a/apps/nextjs/src/components/board/items/item-content.tsx +++ b/apps/nextjs/src/components/board/items/item-content.tsx @@ -1,5 +1,5 @@ import type { ComponentType, CSSProperties, MutableRefObject } from "react"; -import { memo, Suspense, use, useCallback, useEffect, useRef, useState } from "react"; +import { memo, Suspense, use, useCallback, useEffect, useMemo, useRef, useState } from "react"; import { createPortal } from "react-dom"; import dynamic from "next/dynamic"; import type { CardProps } from "@mantine/core"; @@ -159,6 +159,11 @@ const LoadedBoardItemContent = ({ const board = useRequiredBoard(); const t = useI18n(); const [isEditMode] = useEditMode(); + const settings = useSettings(); + const menuItem = useMemo( + () => ({ ...item, options: reduceWidgetOptionsWithDefinition(definition, settings, item.options) }), + [definition, item, settings], + ); const [manualSurface, setManualSurface] = useState(null); const [surfacePortalTarget, setSurfacePortalTarget] = useState(null); const { active, viewportSize, open, close, dismiss, hover, leave } = useAdvancedFocus(); @@ -305,20 +310,15 @@ const LoadedBoardItemContent = ({ > ( - <> - {isEditMode && ( - - )} -
- -
- +
+ +
)} > + {isEditMode && } }) => updateItemOptions({ itemId: item.id, newOptions }); @@ -462,19 +462,15 @@ const InnerContent = memo(function InnerContent({ item, definition, Component, . removeWidgetDataQueries(queryClient, widgetQueryKeys); reset(); }} + resetKeys={[item]} fallbackRender={({ resetErrorBoundary, error }) => ( - <> - {isEditMode && ( - - )} -
- -
- +
+ +
)} > - {isEditMode && }