From 6f5cbcb099e380505525fd3f7d39327d242822eb Mon Sep 17 00:00:00 2001 From: ikezaki Date: Thu, 15 Jan 2026 23:31:40 +0900 Subject: [PATCH 1/2] :tada: Enable drag-and-drop functionality to delete menu items --- .../components/menu-preview/PreviewFooter.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/settings-renderer/components/menu-preview/PreviewFooter.tsx b/src/settings-renderer/components/menu-preview/PreviewFooter.tsx index fa630ee6d..2173a5af2 100644 --- a/src/settings-renderer/components/menu-preview/PreviewFooter.tsx +++ b/src/settings-renderer/components/menu-preview/PreviewFooter.tsx @@ -14,6 +14,7 @@ import i18next from 'i18next'; import * as classes from './PreviewFooter.module.scss'; import { ItemTypeRegistry } from '../../../common/item-types/item-type-registry'; +import { useAppState, useMenuSettings } from '../../state'; import FooterButton from './FooterButton'; @@ -22,6 +23,8 @@ import FooterButton from './FooterButton'; * preview. */ export default function PreviewFooter() { + const deleteMenuItem = useMenuSettings((state) => state.deleteMenuItem); + const selectedMenu = useAppState((state) => state.selectedMenu); const allItemTypes = Array.from(ItemTypeRegistry.getInstance().getAllTypes()); return ( @@ -32,7 +35,19 @@ export default function PreviewFooter() {
-
+
{ + const dragItemPathData = event.dataTransfer.getData('kando/child-path'); + if (dragItemPathData) { + event.preventDefault(); + // Wait for the next frame to allow onDragEnd to fire first + requestAnimationFrame(() => { + const dragItemPath = JSON.parse(dragItemPathData); + deleteMenuItem(selectedMenu, dragItemPath); + }); + } + }}> {allItemTypes.map(([name, type]) => ( Date: Thu, 15 Jan 2026 23:32:58 +0900 Subject: [PATCH 2/2] :wrench: Add `.idea` folder to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6f3f46fe4..d73f256d4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,11 @@ # SPDX-License-Identifier: CC0-1.0 .vscode +.idea .webpack node_modules build out bin .DS_Store -.codegpt \ No newline at end of file +.codegpt