diff --git a/package-lock.json b/package-lock.json index eb5707579..9dd2c072d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,11 +39,13 @@ "@nextcloud/vite-config": "^2.5.2", "@playwright/test": "^1.61.1", "@types/node": "^26.1.1", + "@types/qrcode": "^1.5.6", "@vue/tsconfig": "^0.9.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.6", "prettier": "^3.9.5", - "vite": "^7.3.6" + "vite": "^7.3.6", + "vue-tsc": "^3.3.7" }, "engines": { "node": "^24.0.0", @@ -3194,6 +3196,16 @@ "undici-types": "~8.3.0" } }, + "node_modules/@types/qrcode": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.6.tgz", + "integrity": "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", @@ -13106,6 +13118,46 @@ } } }, + "node_modules/vue-tsc": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.3.7.tgz", + "integrity": "sha512-+C+rgD49wAQ5bUTl2sp5a8Bzg4YoldMNXM+g7CFe604MYcQ8PrZPMQhIjJSzKXtPBCa+C5ayMipqjbA7splekQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.3.7" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vue-tsc/node_modules/@vue/language-core": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.7.tgz", + "integrity": "sha512-LzmkKinXAMMoh8Jfi/jMUSDUjuPdv8mynH5WJGKfXyZtDw3hQ6GBaoI6Bcnl/Xqlu32q/0Z6i/trp4VXykzyLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.2.1", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.4" + } + }, + "node_modules/vue-tsc/node_modules/alien-signals": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.2.1.tgz", + "integrity": "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==", + "dev": true, + "license": "MIT" + }, "node_modules/wait-on": { "version": "9.0.10", "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.10.tgz", diff --git a/package.json b/package.json index 599b85c95..d4e846e12 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "lint:fix": "eslint --ext .js,.ts,.vue src --fix", "start:nextcloud": "node playwright/start-nextcloud-server.mjs", "stylelint": "stylelint \"src/**/*.scss\" \"src/**/*.vue\"", - "stylelint:fix": "stylelint \"src/**/*.scss\" \"src/**/*.vue\" --fix" + "stylelint:fix": "stylelint \"src/**/*.scss\" \"src/**/*.vue\" --fix", + "typecheck": "vue-tsc --noEmit -p tsconfig.json" }, "browserslist": [ "extends @nextcloud/browserslist-config" @@ -59,11 +60,13 @@ "@nextcloud/vite-config": "^2.5.2", "@playwright/test": "^1.61.1", "@types/node": "^26.1.1", + "@types/qrcode": "^1.5.6", "@vue/tsconfig": "^0.9.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.6", "prettier": "^3.9.5", - "vite": "^7.3.6" + "vite": "^7.3.6", + "vue-tsc": "^3.3.7" }, "engines": { "node": "^24.0.0", diff --git a/src/components/AppNavigationForm.vue b/src/components/AppNavigationForm.vue index 232bea551..21dcfb774 100644 --- a/src/components/AppNavigationForm.vue +++ b/src/components/AppNavigationForm.vue @@ -97,7 +97,10 @@ - diff --git a/src/components/PaginationToolbar.vue b/src/components/PaginationToolbar.vue index f84d0b848..741321fb2 100644 --- a/src/components/PaginationToolbar.vue +++ b/src/components/PaginationToolbar.vue @@ -63,16 +63,18 @@ -