From 865ae0ab05ea4a54bc73b0db30bf6aef73512023 Mon Sep 17 00:00:00 2001 From: pa Date: Sun, 1 Mar 2026 23:34:35 +0900 Subject: [PATCH] refactor custom nav dialog --- src/components/NavMenu.vue | 101 +- src/components/dialogs/CustomNavDialog.vue | 1170 +++++++++---------- src/components/dialogs/SortableTreeNode.vue | 123 ++ src/components/ui/tree/Tree.vue | 35 + src/components/ui/tree/TreeItem.vue | 31 + src/components/ui/tree/index.js | 2 + src/localization/en.json | 19 +- 7 files changed, 829 insertions(+), 652 deletions(-) create mode 100644 src/components/dialogs/SortableTreeNode.vue create mode 100644 src/components/ui/tree/Tree.vue create mode 100644 src/components/ui/tree/TreeItem.vue create mode 100644 src/components/ui/tree/index.js diff --git a/src/components/NavMenu.vue b/src/components/NavMenu.vue index f6b1ee7a..805f18f8 100644 --- a/src/components/NavMenu.vue +++ b/src/components/NavMenu.vue @@ -302,8 +302,9 @@ + :hidden-keys="navHiddenKeys" + :default-layout="defaultNavLayout" + @save="handleCustomNavSave" /> - - diff --git a/src/components/dialogs/SortableTreeNode.vue b/src/components/dialogs/SortableTreeNode.vue new file mode 100644 index 00000000..7f22ba4d --- /dev/null +++ b/src/components/dialogs/SortableTreeNode.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/components/ui/tree/Tree.vue b/src/components/ui/tree/Tree.vue new file mode 100644 index 00000000..6bfe4ee3 --- /dev/null +++ b/src/components/ui/tree/Tree.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/ui/tree/TreeItem.vue b/src/components/ui/tree/TreeItem.vue new file mode 100644 index 00000000..178b5504 --- /dev/null +++ b/src/components/ui/tree/TreeItem.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/components/ui/tree/index.js b/src/components/ui/tree/index.js new file mode 100644 index 00000000..823f2b56 --- /dev/null +++ b/src/components/ui/tree/index.js @@ -0,0 +1,2 @@ +export { default as Tree } from './Tree.vue'; +export { default as TreeItem } from './TreeItem.vue'; diff --git a/src/localization/en.json b/src/localization/en.json index 338131ee..ba2d63e7 100644 --- a/src/localization/en.json +++ b/src/localization/en.json @@ -59,21 +59,20 @@ "custom_nav": { "header": "Customize Navigation", "dialog_title": "Customize Navigation Menu", - "add_folder": "Add Folder", + "new_folder": "New Folder", "folder_name_placeholder": "Folder name", "folder_icon_placeholder": "Icon class (e.g. ri-menu-fold-line)", "edit_folder": "Edit Folder", - "folder_available": "Available items", - "folder_selected": "Folder items", - "folder_selected_empty": "No items selected", "delete_folder": "Delete Folder", - "remove_from_folder": "Remove from folder", - "folder_empty": "No items in this folder", - "invalid_folder": "Folder must have a name and contain at least two items.", + "folder_empty": "This folder is empty", + "folder_drop_here": "Drag items here", + "hide": "Hide", + "show": "Show", + "hidden_items": "Hidden", + "confirm": "Confirm", + "cancel": "Cancel", "restore_default": "Restore Default", - "restore_default_confirm": "Restore navigation to its default order?", - "save": "Save", - "cancel": "Cancel" + "restore_default_confirm": "Restore navigation to its default order?" } }, "side_panel": {