diff --git a/eslint.config.js b/eslint.config.js index b306f39f..ce891de1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -31,8 +31,10 @@ module.exports = defineConfig([{ }, rules: { - // Allow unused i18n functions (t, n) — imported for future translation wiring - 'no-unused-vars': ['error', { varsIgnorePattern: '^(t|n)$', argsIgnorePattern: '^_' }], + // Allow unused i18n functions (t, n) — imported for future translation wiring. + // Also allow leading-underscore vars (idiomatic "discarded destructure" — + // `const { foo: _foo, ...rest } = x` to strip a key while keeping the rest). + 'no-unused-vars': ['error', { varsIgnorePattern: '^(t|n|_)', argsIgnorePattern: '^_' }], 'jsdoc/require-jsdoc': 'off', 'vue/first-attribute-linebreak': 'off', '@typescript-eslint/no-explicit-any': 'off', diff --git a/package-lock.json b/package-lock.json index 97b53ff3..c5453ebd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,8 @@ "pinia": "^2.1.7", "vue": "^2.7.14", "vue-material-design-icons": "^5.3.0", - "vue-router": "^3.6.5" + "vue-router": "^3.6.5", + "vuedraggable": "^2.24.3" }, "devDependencies": { "@cyclonedx/cyclonedx-npm": "^4.2.1", @@ -19048,6 +19049,12 @@ "node": ">= 14" } }, + "node_modules/sortablejs": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz", + "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==", + "license": "MIT" + }, "node_modules/source-map": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", @@ -22926,6 +22933,15 @@ "vue": "^2.5.0" } }, + "node_modules/vuedraggable": { + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz", + "integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==", + "license": "MIT", + "dependencies": { + "sortablejs": "1.10.2" + } + }, "node_modules/w3c-keyname": { "version": "2.2.8", "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", diff --git a/package.json b/package.json index 5c0aef37..f7776e38 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,8 @@ "pinia": "^2.1.7", "vue": "^2.7.14", "vue-material-design-icons": "^5.3.0", - "vue-router": "^3.6.5" + "vue-router": "^3.6.5", + "vuedraggable": "^2.24.3" }, "overrides": { "libxmljs2": "^0.37.0" diff --git a/src/components/page-editor/ChatPageEditor.vue b/src/components/page-editor/ChatPageEditor.vue new file mode 100644 index 00000000..64919bcb --- /dev/null +++ b/src/components/page-editor/ChatPageEditor.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/page-editor/CustomPageEditor.vue b/src/components/page-editor/CustomPageEditor.vue new file mode 100644 index 00000000..bddce65a --- /dev/null +++ b/src/components/page-editor/CustomPageEditor.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/page-editor/DashboardPageEditor.vue b/src/components/page-editor/DashboardPageEditor.vue new file mode 100644 index 00000000..7ee6f86b --- /dev/null +++ b/src/components/page-editor/DashboardPageEditor.vue @@ -0,0 +1,78 @@ + + + + + + + diff --git a/src/components/page-editor/DetailPageEditor.vue b/src/components/page-editor/DetailPageEditor.vue new file mode 100644 index 00000000..bceb2dae --- /dev/null +++ b/src/components/page-editor/DetailPageEditor.vue @@ -0,0 +1,302 @@ + + + + + + + diff --git a/src/components/page-editor/FilesPageEditor.vue b/src/components/page-editor/FilesPageEditor.vue new file mode 100644 index 00000000..b09ad765 --- /dev/null +++ b/src/components/page-editor/FilesPageEditor.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/page-editor/FormPageEditor.vue b/src/components/page-editor/FormPageEditor.vue new file mode 100644 index 00000000..0045659d --- /dev/null +++ b/src/components/page-editor/FormPageEditor.vue @@ -0,0 +1,225 @@ + + + + + + + diff --git a/src/components/page-editor/IndexPageEditor.vue b/src/components/page-editor/IndexPageEditor.vue new file mode 100644 index 00000000..9e51740d --- /dev/null +++ b/src/components/page-editor/IndexPageEditor.vue @@ -0,0 +1,241 @@ + + + + + + + diff --git a/src/components/page-editor/LogsPageEditor.vue b/src/components/page-editor/LogsPageEditor.vue new file mode 100644 index 00000000..7d6913c2 --- /dev/null +++ b/src/components/page-editor/LogsPageEditor.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/page-editor/MenuTreeEditor.vue b/src/components/page-editor/MenuTreeEditor.vue new file mode 100644 index 00000000..733c929a --- /dev/null +++ b/src/components/page-editor/MenuTreeEditor.vue @@ -0,0 +1,379 @@ + + + + + + + diff --git a/src/components/page-editor/PageListEditor.vue b/src/components/page-editor/PageListEditor.vue new file mode 100644 index 00000000..c03fdfb6 --- /dev/null +++ b/src/components/page-editor/PageListEditor.vue @@ -0,0 +1,312 @@ + + + + + + + diff --git a/src/components/page-editor/SettingsPageEditor.vue b/src/components/page-editor/SettingsPageEditor.vue new file mode 100644 index 00000000..22ff455b --- /dev/null +++ b/src/components/page-editor/SettingsPageEditor.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/page-editor/StubPageEditor.vue b/src/components/page-editor/StubPageEditor.vue new file mode 100644 index 00000000..d6b50b90 --- /dev/null +++ b/src/components/page-editor/StubPageEditor.vue @@ -0,0 +1,111 @@ + + +