diff --git a/.eslintrc.js b/.eslintrc.js
index ff00609..df432eb 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,5 +1,14 @@
module.exports = {
- rules: {
- 'no-console': 'off',
- },
-};
+ env: {
+ node: true,
+ },
+ extends: [
+ "eslint:recommended",
+ "plugin:vue/vue3-recommended",
+ "prettier",
+ ],
+ rules: {
+ // override/add rules settings here, such as:
+ // 'vue/no-unused-vars': 'error'
+ }
+}
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..a2065a9
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,8 @@
+{
+ "bracketSpacing": true,
+ "bracketSameLine": false,
+ "semi": false,
+ "singleQuote": true,
+ "singleAttributePerLine": true,
+ "printWidth": 160
+}
diff --git a/package.json b/package.json
index f002d50..157d982 100644
--- a/package.json
+++ b/package.json
@@ -1,25 +1,19 @@
{
"license": "agpl",
"private": true,
+ "module": true,
"scripts": {
- "build": "NODE_ENV=production ./node_modules/.bin/webpack-cli --progress --config webpack.js",
- "dev": "NODE_ENV=development ./node_modules/.bin/webpack-cli --progress --config webpack.js",
- "watch": "NODE_ENV=development ./node_modules/.bin/webpack-cli --progress --watch --config webpack.js",
+ "build": "NODE_ENV=production ./node_modules/.bin/webpack-cli --progress --config webpack.config.js",
+ "dev": "NODE_ENV=development ./node_modules/.bin/webpack-cli --progress --config webpack.config.js",
+ "watch": "NODE_ENV=development ./node_modules/.bin/webpack-cli --progress --watch --config webpack.config.js",
"lint": "./node_modules/.bin/eslint --ext .js,.vue src",
"lint:fix": "./node_modules/.bin/eslint --ext .js,.vue src --fix",
"stylelint": "./node_modules/.bin/stylelint src",
"stylelint:fix": "./node_modules/.bin/stylelint src --fix"
},
"dependencies": {
- "@nextcloud/axios": "^2.5.1",
- "@nextcloud/browserslist-config": "^3.0.1",
- "@nextcloud/event-bus": "^3.3.1",
- "@nextcloud/initial-state": "^2.2.0",
- "@nextcloud/l10n": "^3.1.0",
- "@nextcloud/vue": "^8.19.0",
- "@vueuse/core": "^11.1.0",
- "axios": "^1.6.7",
- "trim": "^1.0.1"
+ "@nextcloud/vue": "^8.23.0",
+ "vue": "^3.5.13"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
@@ -28,46 +22,30 @@
"node": ">=16.0.0"
},
"devDependencies": {
- "@babel/node": "^7.25.7",
- "@babel/plugin-transform-private-methods": "^7.25.7",
- "@babel/preset-typescript": "^7.24.7",
- "@cypress/vue2": "^2.1.1",
- "@cypress/webpack-preprocessor": "^6.0.2",
- "@nextcloud/babel-config": "^1.2.0",
- "@nextcloud/eslint-config": "^8.4.1",
- "@nextcloud/stylelint-config": "^3.0.1",
- "@nextcloud/typings": "^1.9.1",
- "@nextcloud/webpack-vue-config": "^6.0.1",
- "@simplewebauthn/types": "^10.0.0",
- "@types/dockerode": "^3.3.29",
- "@types/wait-on": "^5.3.4",
- "@vue/tsconfig": "^0.5.1",
- "babel-loader": "^9.2.1",
- "babel-loader-exclude-node-modules-except": "^1.2.1",
- "babel-plugin-module-resolver": "^5.0.2",
- "colord": "^2.9.3",
- "eslint-plugin-cypress": "^3.5.0",
- "eslint-plugin-es": "^4.1.0",
- "exports-loader": "^5.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@nextcloud/axios": "^2.5.1",
+ "@nextcloud/browserslist-config": "^3.0.1",
+ "@nextcloud/event-bus": "^3.3.1",
+ "@nextcloud/initial-state": "^2.2.0",
+ "@nextcloud/l10n": "^3.1.0",
+ "@symfony/webpack-encore": "^5.1.0",
+ "babel-loader": "^9.1.3",
+ "css-loader": "^7.1.2",
+ "eslint": "^9.19.0",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-plugin-vue": "^9.32.0",
"file-loader": "^6.2.0",
- "handlebars-loader": "^1.7.3",
- "jasmine-core": "~2.5.2",
- "jasmine-sinon": "^0.4.0",
- "jsdoc": "^4.0.2",
- "raw-loader": "^4.0.2",
- "sass": "^1.79.3",
- "stylelint": "^16.9.0",
- "stylelint-use-logical": "^2.1.2",
- "ts-loader": "^9.5.0",
- "ts-node": "^10.9.1",
- "tslib": "^2.7.0",
- "typescript": "^5.6.2",
- "vue-loader": "^15.9.8",
- "vue-template-compiler": "^2.7.16",
- "wait-on": "^8.0.1",
+ "mini-css-extract-plugin": "^2.9.1",
+ "postcss-loader": "^8.1.1",
+ "prettier": "3.4.2",
+ "sass": "^1.78.0",
+ "sass-loader": "^16.0.1",
+ "source-map-loader": "^5.0.0",
+ "style-loader": "^4.0.0",
+ "vue-loader": "^17.4.2",
+ "vue-router": "^4.4.5",
"webpack": "^5.94.0",
- "webpack-cli": "^5.0.2",
- "webpack-merge": "^6.0.1",
- "workbox-webpack-plugin": "^7.1.0"
+ "webpack-cli": "^5.1.4",
+ "webpack-notifier": "^1.15.0"
}
}
diff --git a/src/AdminCategoriesCustom.vue b/src/components/AdminCategoriesCustom.vue
similarity index 100%
rename from src/AdminCategoriesCustom.vue
rename to src/components/AdminCategoriesCustom.vue
diff --git a/src/AppMenu.vue b/src/components/AppMenu.vue
similarity index 100%
rename from src/AppMenu.vue
rename to src/components/AppMenu.vue
diff --git a/src/AppSearch.vue b/src/components/AppSearch.vue
similarity index 100%
rename from src/AppSearch.vue
rename to src/components/AppSearch.vue
diff --git a/src/CloserButton.vue b/src/components/CloserButton.vue
similarity index 100%
rename from src/CloserButton.vue
rename to src/components/CloserButton.vue
diff --git a/src/Loader.vue b/src/components/Loader.vue
similarity index 100%
rename from src/Loader.vue
rename to src/components/Loader.vue
diff --git a/src/Logo.vue b/src/components/Logo.vue
similarity index 100%
rename from src/Logo.vue
rename to src/components/Logo.vue
diff --git a/src/OpenerButton.vue b/src/components/OpenerButton.vue
similarity index 100%
rename from src/OpenerButton.vue
rename to src/components/OpenerButton.vue
diff --git a/src/SettingsButton.vue b/src/components/SettingsButton.vue
similarity index 100%
rename from src/SettingsButton.vue
rename to src/components/SettingsButton.vue
diff --git a/src/SideMenuApp.vue b/src/components/SideMenuApp.vue
similarity index 100%
rename from src/SideMenuApp.vue
rename to src/components/SideMenuApp.vue
diff --git a/src/SideMenuBigApp.vue b/src/components/SideMenuBigApp.vue
similarity index 55%
rename from src/SideMenuBigApp.vue
rename to src/components/SideMenuBigApp.vue
index a0fcdde..2e8adb0 100644
--- a/src/SideMenuBigApp.vue
+++ b/src/components/SideMenuBigApp.vue
@@ -15,38 +15,35 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
-->
-
-
-
-
+
+
+
+
-
diff --git a/src/SideMenu.js b/src/menu.js
similarity index 98%
rename from src/SideMenu.js
rename to src/menu.js
index 22ac3f5..a220e59 100644
--- a/src/SideMenu.js
+++ b/src/menu.js
@@ -15,7 +15,6 @@
* along with this program. If not, see .
*/
-import Vue from 'vue'
import AppMenu from './AppMenu.vue'
import SideMenu from './SideMenu.vue'
import SideMenuBig from './SideMenuBig.vue'
diff --git a/src/menus/AppMenu.vue b/src/menus/AppMenu.vue
new file mode 100644
index 0000000..9558eb5
--- /dev/null
+++ b/src/menus/AppMenu.vue
@@ -0,0 +1,393 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SideMenu.vue b/src/menus/SideMenu.vue
similarity index 100%
rename from src/SideMenu.vue
rename to src/menus/SideMenu.vue
diff --git a/src/SideMenuBig.vue b/src/menus/SideMenuBig.vue
similarity index 100%
rename from src/SideMenuBig.vue
rename to src/menus/SideMenuBig.vue
diff --git a/src/SideMenuWithCategories.vue b/src/menus/SideMenuWithCategories.vue
similarity index 98%
rename from src/SideMenuWithCategories.vue
rename to src/menus/SideMenuWithCategories.vue
index 07530a8..6997e1a 100644
--- a/src/SideMenuWithCategories.vue
+++ b/src/menus/SideMenuWithCategories.vue
@@ -52,7 +52,7 @@ along with this program. If not, see .
-