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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ displayLabel }}
+
+
+
+
+
+
+
+
+ {{ t('nav_menu.custom_nav.edit_folder') }}
+
+
+ {{ t('nav_menu.custom_nav.delete_folder') }}
+
+
+
+
+ {{ t('nav_menu.custom_nav.hide') }}
+
+
+
+
+
+
+
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 @@
+
+
+
+ emit('update:expanded', val)"
+ @update:model-value="(val) => emit('update:modelValue', val)">
+
+
+
+
+
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": {