From cb3bf370d5a8d0774059d01ad3e9c36429528a22 Mon Sep 17 00:00:00 2001 From: Grigory V Date: Sun, 9 Nov 2025 13:52:05 +0100 Subject: [PATCH] feat(settings): redesign to new vue components Signed-off-by: Grigory V --- css/app-settings.scss | 2 - package-lock.json | 94 +++-- package.json | 4 +- src/components/AppNavigation/Settings.vue | 332 +++++++++--------- .../Settings/SettingsAttachmentsFolder.vue | 45 ++- .../Settings/ShortcutOverview.vue | 131 +++---- 6 files changed, 292 insertions(+), 316 deletions(-) diff --git a/css/app-settings.scss b/css/app-settings.scss index 1ace6ae945..c0026ecd0a 100644 --- a/css/app-settings.scss +++ b/css/app-settings.scss @@ -5,9 +5,7 @@ #app-settings-modal { .settings-fieldset-interior-item { - max-width: calc(var(--default-grid-baseline) * 68); align-items: stretch; - padding: 5px 0; } .button-content-with-icon { diff --git a/package-lock.json b/package-lock.json index 5514442415..c065d2044c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "calendar", - "version": "6.0.0", + "version": "6.0.4", "license": "agpl", "dependencies": { "@fullcalendar/core": "6.1.19", @@ -31,8 +31,8 @@ "@nextcloud/logger": "^3.0.2", "@nextcloud/moment": "^1.3.5", "@nextcloud/router": "^3.0.1", - "@nextcloud/timezones": "^1.0.0", - "@nextcloud/vue": "^8.29.1", + "@nextcloud/timezones": "^1.0.2", + "@nextcloud/vue": "^8.34.0", "autosize": "^6.0.1", "color-convert": "^3.1.0", "color-string": "^2.0.1", @@ -3397,31 +3397,39 @@ "license": "Apache-2.0" }, "node_modules/@nextcloud/auth": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.2.tgz", - "integrity": "sha512-1dr+Xhvg2QtsFC23KFXJSkU524EVgI/+WFBGTZ8tFa+9hmcZ3CqZIHjtXm3KxUvezwAY5023Ml0n2vpdYkpBXQ==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz", + "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==", "license": "GPL-3.0-or-later", "dependencies": { - "@nextcloud/browser-storage": "^0.4.0", + "@nextcloud/browser-storage": "^0.5.0", "@nextcloud/event-bus": "^3.3.2" }, "engines": { "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, + "node_modules/@nextcloud/auth/node_modules/@nextcloud/browser-storage": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz", + "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==", + "license": "GPL-3.0-or-later", + "engines": { + "node": "^24 || ^22 || ^20" + } + }, "node_modules/@nextcloud/axios": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.1.tgz", - "integrity": "sha512-AA7BPF/rsOZWAiVxqlobGSdD67AEwjOnymZCKUIwEIBArKxYK7OQEqcILDjQwgj6G0e/Vg9Y8zTVsPZp+mlvwA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz", + "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==", "license": "GPL-3.0-or-later", "dependencies": { - "@nextcloud/auth": "^2.3.0", + "@nextcloud/auth": "^2.5.1", "@nextcloud/router": "^3.0.1", - "axios": "^1.6.8" + "axios": "^1.12.2" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/babel-config": { @@ -3903,15 +3911,16 @@ } }, "node_modules/@nextcloud/timezones": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/timezones/-/timezones-1.0.0.tgz", - "integrity": "sha512-9b7Wms2mzB4RAltf8s9dY40PcU5ova5QjQJw1Gty35e54alKyx33BqUOy4gEbkzmYSrW4aZcLcMrOO5Bj2eIzg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@nextcloud/timezones/-/timezones-1.0.2.tgz", + "integrity": "sha512-KdG/dcjKCuWIdsvpARM9qhQYaqDL/a7Qwb+jz0uOvRduqVWgs3A3EBfZmkgrRfkH6LAve7lg7aNeYhTcjDSuwQ==", "license": "AGPL-3.0-or-later", "dependencies": { "ical.js": "^2.1.0" }, "engines": { - "node": "^20 || ^22" + "node": "^22.0.0", + "npm": "^10.5.0" } }, "node_modules/@nextcloud/typings": { @@ -3928,16 +3937,16 @@ } }, "node_modules/@nextcloud/vue": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.31.0.tgz", - "integrity": "sha512-P5m3Odfw4m0siu7qs88WJutu2C8mEknqMS1ijlqYtQvc8qZwmpQshgCV5GhyyBTTK9Baicthm+ULglIf/Eq/sg==", + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.34.0.tgz", + "integrity": "sha512-zUmInTvT4NgbRjWJZbw8nA+h4EqitYKfoCTj3h3Xr930sQZcczQatPtSo5Sps8RAh+JJz3iiAqAawYqS9jvBdA==", "license": "AGPL-3.0-or-later", "dependencies": { "@floating-ui/dom": "^1.7.4", "@linusborg/vue-simple-portal": "^0.1.5", - "@nextcloud/auth": "^2.5.2", - "@nextcloud/axios": "^2.5.0", - "@nextcloud/browser-storage": "^0.4.0", + "@nextcloud/auth": "^2.5.3", + "@nextcloud/axios": "^2.5.2", + "@nextcloud/browser-storage": "^0.5.0", "@nextcloud/capabilities": "^1.2.0", "@nextcloud/event-bus": "^3.3.2", "@nextcloud/initial-state": "^2.2.0", @@ -3952,11 +3961,11 @@ "blurhash": "^2.0.5", "clone": "^2.1.2", "debounce": "^2.2.0", - "dompurify": "^3.2.4", + "dompurify": "^3.3.0", "emoji-mart-vue-fast": "^15.0.5", "escape-html": "^1.0.3", "floating-vue": "^1.0.0-beta.19", - "focus-trap": "^7.4.3", + "focus-trap": "^7.6.6", "linkify-string": "^4.3.2", "md5": "^2.3.0", "p-queue": "^8.1.1", @@ -3970,7 +3979,7 @@ "splitpanes": "^2.4.1", "string-length": "^5.0.1", "striptags": "^3.2.0", - "tabbable": "^6.2.0", + "tabbable": "^6.3.0", "tributejs": "^5.1.3", "unified": "^11.0.1", "unist-builder": "^4.0.0", @@ -4016,6 +4025,15 @@ "@floating-ui/utils": "^0.2.10" } }, + "node_modules/@nextcloud/vue/node_modules/@nextcloud/browser-storage": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz", + "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==", + "license": "GPL-3.0-or-later", + "engines": { + "node": "^24 || ^22 || ^20" + } + }, "node_modules/@nextcloud/vue/node_modules/@nextcloud/initial-state": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.2.0.tgz", @@ -8545,9 +8563,9 @@ } }, "node_modules/dompurify": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", - "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.0.tgz", + "integrity": "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -10436,11 +10454,12 @@ } }, "node_modules/focus-trap": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", - "integrity": "sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==", + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.6.tgz", + "integrity": "sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==", + "license": "MIT", "dependencies": { - "tabbable": "^6.2.0" + "tabbable": "^6.3.0" } }, "node_modules/follow-redirects": { @@ -18963,9 +18982,10 @@ "dev": true }, "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", + "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==", + "license": "MIT" }, "node_modules/table": { "version": "6.9.0", diff --git a/package.json b/package.json index 49e61fb6e3..faba35a4ac 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,8 @@ "@nextcloud/logger": "^3.0.2", "@nextcloud/moment": "^1.3.5", "@nextcloud/router": "^3.0.1", - "@nextcloud/timezones": "^1.0.0", - "@nextcloud/vue": "^8.29.1", + "@nextcloud/timezones": "^1.0.2", + "@nextcloud/vue": "^8.34.0", "autosize": "^6.0.1", "color-convert": "^3.1.0", "color-string": "^2.0.1", diff --git a/src/components/AppNavigation/Settings.vue b/src/components/AppNavigation/Settings.vue index 3f1aae49b5..bf38af1e27 100644 --- a/src/components/AppNavigation/Settings.vue +++ b/src/components/AppNavigation/Settings.vue @@ -15,126 +15,96 @@ - - - - - {{ $t('calendar', 'Personal availability settings') }} - - - -
 
- - - {{ $t('calendar', 'Copy primary CalDAV address') }} - - - - {{ $t('calendar', 'Copy iOS/macOS CalDAV address') }} - + + + + {{ $t('calendar', 'Availability settings') }} + + + + + + + + +
- - - - {{ $t('calendar', 'Enable birthday calendar') }} - - - {{ $t('calendar', 'Show tasks in calendar') }} - - - {{ $t('calendar', 'Show weekends') }} - - - {{ $t('calendar', 'Show week numbers') }} - - - - {{ $t('calendar', 'Limit number of events shown in month view') }} - - + + + + {{ $t('calendar', 'Birthday calendar') }} + + + {{ $t('calendar', 'Tasks in calendar') }} + + + {{ $t('calendar', 'Weekends') }} + + + {{ $t('calendar', 'Week numbers') }} + + + + + + {{ $t('calendar', 'Limit number of events shown in Month view') }} + + + - - {{ $t('calendar', 'Enable simple editor') }} - - -
- -
-
- -
-
+ + + + + + + -
-
- - + +
@@ -142,56 +112,46 @@ -