From 419141ed6a5fb4754a6a4941f846e0a6f979ccf0 Mon Sep 17 00:00:00 2001 From: Aurnik Date: Thu, 2 Apr 2026 08:53:30 +1300 Subject: [PATCH] Fix home page widgets not being draggable/resizable after first save Fixes #32677 Signed-off-by: Aurnik --- .changeset/fix-widget-resize-after-edit.md | 5 +++++ .../CustomHomepage/CustomHomepageGrid.tsx | 21 +++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 .changeset/fix-widget-resize-after-edit.md diff --git a/.changeset/fix-widget-resize-after-edit.md b/.changeset/fix-widget-resize-after-edit.md new file mode 100644 index 0000000000..fd88f12133 --- /dev/null +++ b/.changeset/fix-widget-resize-after-edit.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-home': patch +--- + +Fixed widgets not being draggable and resizable after saved edits. Previously, entering edit mode didn't restore `isDraggable` and `isResizable`. diff --git a/plugins/home/src/components/CustomHomepage/CustomHomepageGrid.tsx b/plugins/home/src/components/CustomHomepage/CustomHomepageGrid.tsx index 065caff3f4..ce97e65e4e 100644 --- a/plugins/home/src/components/CustomHomepage/CustomHomepageGrid.tsx +++ b/plugins/home/src/components/CustomHomepage/CustomHomepageGrid.tsx @@ -302,15 +302,18 @@ export const CustomHomepageGrid = (props: CustomHomepageGridProps) => { const changeEditMode = (mode: boolean) => { setEditMode(mode); - if (!mode) { - const newWidgets = widgets.map(w => { - const resizable = w.resizable === false ? false : mode; - const movable = w.movable === false ? false : mode; - return { - ...w, - layout: { ...w.layout, isDraggable: movable, isResizable: resizable }, - }; - }); + const newWidgets = widgets.map(w => { + const resizable = w.resizable === false ? false : mode; + const movable = w.movable === false ? false : mode; + return { + ...w, + layout: { ...w.layout, isDraggable: movable, isResizable: resizable }, + }; + }); + + if (mode) { + setWidgets(newWidgets); + } else { storeWidgets(newWidgets); } };