Compare commits

...

13 Commits

Author SHA1 Message Date
d179558d5f 更新 src/i18n/lang/zh-CN.json 2023-10-13 14:18:04 +00:00
eb591fdd3c chore(deps): update dev-dependencies (#3769)
Reviewed-on: vikunja/frontend#3769
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-13 13:59:06 +00:00
23e1899fce fix(deps): update dependency @github/hotkey to v2.1.1 (#3770)
Reviewed-on: vikunja/frontend#3770
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-13 13:32:18 +00:00
22968ba639 fix(deps): update dependency pinia to v2.1.7 (#3771)
Reviewed-on: vikunja/frontend#3771
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-13 13:17:47 +00:00
b345f0ad61 fix(deps): update sentry-javascript monorepo to v7.74.0 (#3772)
Reviewed-on: vikunja/frontend#3772
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-13 12:27:20 +00:00
Frederick [Bot]
4df34701ab [skip ci] Updated translations via Crowdin 2023-10-13 00:08:52 +00:00
a5f7487bd0 fix(deps): update dependency marked to v9.1.1 (#3768)
Reviewed-on: vikunja/frontend#3768
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-11 21:42:37 +00:00
ae001c6ca7
fix(user): allow openid users to request their deletion
Resolves https://community.vikunja.io/t/delete-user-not-possible-when-using-oidc/1689/4
2023-10-11 19:07:11 +02:00
f0b340a9c7
feat(task): save currently opened task with control/meta + s 2023-10-11 17:44:17 +02:00
40538df392 fix(deps): update dependency @github/hotkey to v2.1.0 (#3766)
Reviewed-on: vikunja/frontend#3766
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-11 09:01:48 +00:00
fc17b16c60 chore(deps): update dependency sass to v1.69.2 (#3767)
Reviewed-on: vikunja/frontend#3767
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-11 07:34:29 +00:00
6c59b4e2d2 fix(deps): update dependency highlight.js to v11.9.0 (#3763)
Reviewed-on: vikunja/frontend#3763
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-10 19:21:25 +00:00
e8a38ed482 fix(deps): update vueuse to v10.5.0 (#3762)
Reviewed-on: vikunja/frontend#3762
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-10-10 18:28:10 +00:00
35 changed files with 335 additions and 225 deletions

View File

@ -49,14 +49,14 @@
"@fortawesome/free-regular-svg-icons": "6.4.2",
"@fortawesome/free-solid-svg-icons": "6.4.2",
"@fortawesome/vue-fontawesome": "3.0.3",
"@github/hotkey": "2.0.1",
"@github/hotkey": "2.1.1",
"@infectoone/vue-ganttastic": "2.2.0",
"@intlify/unplugin-vue-i18n": "1.4.0",
"@kyvg/vue3-notification": "3.0.2",
"@sentry/tracing": "7.73.0",
"@sentry/vue": "7.73.0",
"@vueuse/core": "10.4.1",
"@vueuse/router": "10.4.1",
"@sentry/tracing": "7.74.0",
"@sentry/vue": "7.74.0",
"@vueuse/core": "10.5.0",
"@vueuse/router": "10.5.0",
"axios": "1.5.1",
"blurhash": "2.0.5",
"bulma-css-variables": "0.9.33",
@ -70,12 +70,12 @@
"flatpickr": "4.6.13",
"flexsearch": "0.7.31",
"floating-vue": "2.0.0-beta.24",
"highlight.js": "11.8.0",
"highlight.js": "11.9.0",
"is-touch-device": "1.0.1",
"klona": "2.0.6",
"lodash.debounce": "4.0.8",
"marked": "9.1.0",
"pinia": "2.1.6",
"marked": "9.1.1",
"pinia": "2.1.7",
"register-service-worker": "1.7.2",
"snake-case": "3.0.4",
"sortablejs": "1.15.0",
@ -103,7 +103,7 @@
"@types/is-touch-device": "1.0.0",
"@types/lodash.debounce": "4.0.7",
"@types/marked": "5.0.2",
"@types/node": "18.18.4",
"@types/node": "18.18.5",
"@types/postcss-preset-env": "7.7.0",
"@types/sortablejs": "1.15.3",
"@typescript-eslint/eslint-plugin": "6.7.5",
@ -131,7 +131,7 @@
"postcss-preset-env": "9.2.0",
"rollup": "3.29.4",
"rollup-plugin-visualizer": "5.9.2",
"sass": "1.69.1",
"sass": "1.69.3",
"start-server-and-test": "2.0.1",
"typescript": "5.2.2",
"vite": "4.4.11",
@ -140,7 +140,7 @@
"vite-plugin-sentry": "1.3.0",
"vite-svg-loader": "4.0.0",
"vitest": "0.34.6",
"vue-tsc": "1.8.18",
"vue-tsc": "1.8.19",
"wait-on": "7.0.1",
"workbox-cli": "7.0.0"
},

View File

@ -23,8 +23,8 @@ dependencies:
specifier: 3.0.3
version: 3.0.3(@fortawesome/fontawesome-svg-core@6.4.2)(vue@3.3.4)
'@github/hotkey':
specifier: 2.0.1
version: 2.0.1
specifier: 2.1.1
version: 2.1.1
'@infectoone/vue-ganttastic':
specifier: 2.2.0
version: 2.2.0(dayjs@1.11.10)(vue@3.3.4)
@ -35,17 +35,17 @@ dependencies:
specifier: 3.0.2
version: 3.0.2(vue@3.3.4)
'@sentry/tracing':
specifier: 7.73.0
version: 7.73.0
specifier: 7.74.0
version: 7.74.0
'@sentry/vue':
specifier: 7.73.0
version: 7.73.0(vue@3.3.4)
specifier: 7.74.0
version: 7.74.0(vue@3.3.4)
'@vueuse/core':
specifier: 10.4.1
version: 10.4.1(vue@3.3.4)
specifier: 10.5.0
version: 10.5.0(vue@3.3.4)
'@vueuse/router':
specifier: 10.4.1
version: 10.4.1(vue-router@4.2.5)(vue@3.3.4)
specifier: 10.5.0
version: 10.5.0(vue-router@4.2.5)(vue@3.3.4)
axios:
specifier: 1.5.1
version: 1.5.1
@ -86,8 +86,8 @@ dependencies:
specifier: 2.0.0-beta.24
version: 2.0.0-beta.24(vue@3.3.4)
highlight.js:
specifier: 11.8.0
version: 11.8.0
specifier: 11.9.0
version: 11.9.0
is-touch-device:
specifier: 1.0.1
version: 1.0.1
@ -98,11 +98,11 @@ dependencies:
specifier: 4.0.8
version: 4.0.8
marked:
specifier: 9.1.0
version: 9.1.0
specifier: 9.1.1
version: 9.1.1
pinia:
specifier: 2.1.6
version: 2.1.6(typescript@5.2.2)(vue@3.3.4)
specifier: 2.1.7
version: 2.1.7(typescript@5.2.2)(vue@3.3.4)
register-service-worker:
specifier: 1.7.2
version: 1.7.2
@ -181,8 +181,8 @@ devDependencies:
specifier: 5.0.2
version: 5.0.2
'@types/node':
specifier: 18.18.4
version: 18.18.4
specifier: 18.18.5
version: 18.18.5
'@types/postcss-preset-env':
specifier: 7.7.0
version: 7.7.0
@ -242,7 +242,7 @@ devDependencies:
version: 10.11.2
histoire:
specifier: 0.17.2
version: 0.17.2(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)(vite@4.4.11)
version: 0.17.2(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)(vite@4.4.11)
postcss:
specifier: 8.4.31
version: 8.4.31
@ -265,8 +265,8 @@ devDependencies:
specifier: 5.9.2
version: 5.9.2(rollup@3.29.4)
sass:
specifier: 1.69.1
version: 1.69.1
specifier: 1.69.3
version: 1.69.3
start-server-and-test:
specifier: 2.0.1
version: 2.0.1
@ -275,7 +275,7 @@ devDependencies:
version: 5.2.2
vite:
specifier: 4.4.11
version: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
version: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
vite-plugin-inject-preload:
specifier: 1.3.3
version: 1.3.3(vite@4.4.11)
@ -290,10 +290,10 @@ devDependencies:
version: 4.0.0
vitest:
specifier: 0.34.6
version: 0.34.6(happy-dom@10.11.2)(sass@1.69.1)(terser@5.10.0)
version: 0.34.6(happy-dom@10.11.2)(sass@1.69.3)(terser@5.10.0)
vue-tsc:
specifier: 1.8.18
version: 1.8.18(typescript@5.2.2)
specifier: 1.8.19
version: 1.8.19(typescript@5.2.2)
wait-on:
specifier: 7.0.1
version: 7.0.1(debug@4.3.4)
@ -3556,8 +3556,8 @@ packages:
vue: 3.3.4
dev: false
/@github/hotkey@2.0.1:
resolution: {integrity: sha512-qKXjAJjtheJbf4ie3hi8IwrHWJZHB5qdojR6JGo6jvQNPpsdUbk/NIdU8sxu4PW41CjW80vfciDMu3MAP3j2Fg==}
/@github/hotkey@2.1.1:
resolution: {integrity: sha512-UPb3mbKQzw3uskbRu+jsJwhAP2lFhxH0vI799camXiNbV5q3w61VNGt3oX7yxn4HhC5V4S701NoOqGbosCJhiw==}
dev: false
/@hapi/hoek@9.2.1:
@ -3607,7 +3607,7 @@ packages:
capture-website: 2.4.1
defu: 6.1.2
fs-extra: 10.1.0
histoire: 0.17.2(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)(vite@4.4.11)
histoire: 0.17.2(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)(vite@4.4.11)
pathe: 0.2.0
transitivePeerDependencies:
- bufferutil
@ -3627,7 +3627,7 @@ packages:
'@histoire/vendors': 0.17.0
change-case: 4.1.2
globby: 13.2.2
histoire: 0.17.2(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)(vite@4.4.11)
histoire: 0.17.2(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)(vite@4.4.11)
launch-editor: 2.6.0
pathe: 0.2.0
vue: 3.3.4
@ -3646,7 +3646,7 @@ packages:
chokidar: 3.5.3
pathe: 0.2.0
picocolors: 1.0.0
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
dev: true
/@histoire/vendors@0.17.0:
@ -3977,25 +3977,25 @@ packages:
resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==}
dev: true
/@sentry-internal/tracing@7.73.0:
resolution: {integrity: sha512-ig3WL/Nqp8nRQ52P205NaypGKNfIl/G+cIqge9xPW6zfRb5kJdM1YParw9GSJ1SPjEZBkBORGAML0on5H2FILw==}
/@sentry-internal/tracing@7.74.0:
resolution: {integrity: sha512-JK6IRGgdtZjswGfaGIHNWIThffhOHzVIIaGmglui+VFIzOsOqePjoxaDV0MEvzafxXZD7eWqGE5RGuZ0n6HFVg==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.73.0
'@sentry/types': 7.73.0
'@sentry/utils': 7.73.0
'@sentry/core': 7.74.0
'@sentry/types': 7.74.0
'@sentry/utils': 7.74.0
tslib: 1.14.1
dev: false
/@sentry/browser@7.73.0:
resolution: {integrity: sha512-e301hUixcJ5+HNKCJwajFF5smF4opXEFSclyWsJuFNufv5J/1C1SDhbwG2JjBt5zzdSoKWJKT1ewR6vpICyoDw==}
/@sentry/browser@7.74.0:
resolution: {integrity: sha512-Njr8216Z1dFUcl6NqBOk20dssK9SjoVddY74Xq+Q4p3NfXBG3lkMcACXor7SFoJRZXq8CZWGS13Cc5KwViRw4g==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.73.0
'@sentry/core': 7.73.0
'@sentry/replay': 7.73.0
'@sentry/types': 7.73.0
'@sentry/utils': 7.73.0
'@sentry-internal/tracing': 7.74.0
'@sentry/core': 7.74.0
'@sentry/replay': 7.74.0
'@sentry/types': 7.74.0
'@sentry/utils': 7.74.0
tslib: 1.14.1
dev: false
@ -4015,54 +4015,54 @@ packages:
- supports-color
dev: true
/@sentry/core@7.73.0:
resolution: {integrity: sha512-9FEz4Gq848LOgVN2OxJGYuQqxv7cIVw69VlAzWHEm3njt8mjvlTq+7UiFsGRo84+59V2FQuHxzA7vVjl90WfSg==}
/@sentry/core@7.74.0:
resolution: {integrity: sha512-83NRuqn7nDZkSVBN5yJQqcpXDG4yMYiB7TkYUKrGTzBpRy6KUOrkCdybuKk0oraTIGiGSe5WEwCFySiNgR9FzA==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.73.0
'@sentry/utils': 7.73.0
'@sentry/types': 7.74.0
'@sentry/utils': 7.74.0
tslib: 1.14.1
dev: false
/@sentry/replay@7.73.0:
resolution: {integrity: sha512-a8IC9SowBisLYD2IdLkXzx7gN4iVwHDJhQvLp2B8ARs1PyPjJ7gCxSMHeGrYp94V0gOXtorNYkrxvuX8ayPROA==}
/@sentry/replay@7.74.0:
resolution: {integrity: sha512-GoYa3cHTTFVI/J1cnZ0i4X128mf/JljaswO3PWNTe2k3lSHq/LM5aV0keClRvwM0W8hlix8oOTT06nnenOUmmw==}
engines: {node: '>=12'}
dependencies:
'@sentry/core': 7.73.0
'@sentry/types': 7.73.0
'@sentry/utils': 7.73.0
'@sentry/core': 7.74.0
'@sentry/types': 7.74.0
'@sentry/utils': 7.74.0
dev: false
/@sentry/tracing@7.73.0:
resolution: {integrity: sha512-LOQR6Hkc8ZoflCXWtMlxTbCBEwv0MSOr3vesnRsmlFG8TW1YUIneU+wKnVxToWAZ8fq+6ubclnuIUKHfqTk/Tg==}
/@sentry/tracing@7.74.0:
resolution: {integrity: sha512-rSFJADhh3J3zmkzJ1EXCOwS3h7F6o/lSKu7CWZSZ6k5kBvbCJ5AXvGQadhPdWPJMMcPFzCJaOyTKEPcwL4tbCw==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.73.0
'@sentry-internal/tracing': 7.74.0
dev: false
/@sentry/types@7.73.0:
resolution: {integrity: sha512-/v8++bly8jW7r4cP2wswYiiVpn7eLLcqwnfPUMeCQze4zj3F3nTRIKc9BGHzU0V+fhHa3RwRC2ksqTGq1oJMDg==}
/@sentry/types@7.74.0:
resolution: {integrity: sha512-rI5eIRbUycWjn6s6o3yAjjWtIvYSxZDdnKv5je2EZINfLKcMPj1dkl6wQd2F4y7gLfD/N6Y0wZYIXC3DUdJQQg==}
engines: {node: '>=8'}
dev: false
/@sentry/utils@7.73.0:
resolution: {integrity: sha512-h3ZK/qpf4k76FhJV9uiSbvMz3V/0Ovy94C+5/9UgPMVCJXFmVsdw8n/dwANJ7LupVPfYP23xFGgebDMFlK1/2w==}
/@sentry/utils@7.74.0:
resolution: {integrity: sha512-k3np8nuTPtx5KDODPtULfFln4UXdE56MZCcF19Jv6Ljxf+YN/Ady1+0Oi3e0XoSvFpWNyWnglauT7M65qCE6kg==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.73.0
'@sentry/types': 7.74.0
tslib: 1.14.1
dev: false
/@sentry/vue@7.73.0(vue@3.3.4):
resolution: {integrity: sha512-BTZVvY4PTLqqIbLbwBr0fbMQsUalV+BSm1JbCx2cy4IX/Rcf5YQUdkv1CvUMvI4yZKYTINMamyT/8XCCPljl6A==}
/@sentry/vue@7.74.0(vue@3.3.4):
resolution: {integrity: sha512-Yu8Zo783DlIg6PmpA8DjR4Kmh6E3nH5FiIamkzJ/OYq0LOj0VzIT8iaL+4bQvnJJrgZyWU3sNXLCHB1uVtp4rA==}
engines: {node: '>=8'}
peerDependencies:
vue: 2.x || 3.x
dependencies:
'@sentry/browser': 7.73.0
'@sentry/core': 7.73.0
'@sentry/types': 7.73.0
'@sentry/utils': 7.73.0
'@sentry/browser': 7.74.0
'@sentry/core': 7.74.0
'@sentry/types': 7.74.0
'@sentry/utils': 7.74.0
tslib: 1.14.1
vue: 3.3.4
dev: false
@ -4176,7 +4176,7 @@ packages:
/@types/fs-extra@9.0.13:
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
dev: true
/@types/har-format@1.2.10:
@ -4194,7 +4194,7 @@ packages:
/@types/keyv@3.1.3:
resolution: {integrity: sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==}
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
dev: true
/@types/linkify-it@3.0.2:
@ -4238,8 +4238,8 @@ packages:
resolution: {integrity: sha512-YZJjn+Aaw0xihnpdImxI22jqGbp0DCgTFKRycygjGx/Y27NnWFJa5FJ7P+MRT3u07dogEeMVh70pWpbIQollTA==}
dev: true
/@types/node@18.18.4:
resolution: {integrity: sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==}
/@types/node@18.18.5:
resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==}
dev: true
/@types/normalize-package-data@2.4.1:
@ -4256,13 +4256,13 @@ packages:
/@types/resolve@1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
dev: true
/@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
dev: true
/@types/semver@7.5.0:
@ -4294,15 +4294,15 @@ packages:
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
dev: false
/@types/web-bluetooth@0.0.17:
resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==}
/@types/web-bluetooth@0.0.18:
resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==}
dev: false
/@types/yauzl@2.9.2:
resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
requiresBuild: true
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
dev: true
optional: true
@ -4582,7 +4582,7 @@ packages:
regenerator-runtime: 0.13.11
systemjs: 6.14.1
terser: 5.10.0(acorn@8.9.0)
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
transitivePeerDependencies:
- supports-color
dev: true
@ -4594,7 +4594,7 @@ packages:
vite: ^4.0.0
vue: ^3.2.25
dependencies:
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
vue: 3.3.4
dev: true
@ -4636,22 +4636,22 @@ packages:
pretty-format: 29.5.0
dev: true
/@volar/language-core@1.10.3:
resolution: {integrity: sha512-7Qgwu9bWUHN+cLrOkCbIVBkL+RVPREhvY07wY89dGxi4mY9mQCsUVRRp64F61lX7Nc27meMnvy0sWlzY0x6oQQ==}
/@volar/language-core@1.10.4:
resolution: {integrity: sha512-Na69qA6uwVIdA0rHuOc2W3pHtVQQO8hCNim7FOaKNpRJh0oAFnu5r9i7Oopo5C4cnELZkPNjTrbmpcCTiW+CMQ==}
dependencies:
'@volar/source-map': 1.10.3
'@volar/source-map': 1.10.4
dev: true
/@volar/source-map@1.10.3:
resolution: {integrity: sha512-QE9nwK3xsdBQGongHnC9SCR0itx7xUKQFsUDn5HbZY3pHpyXxdY1hSBG0eh9mE+aTKoM4KlqMvrb+19Tv9vS1Q==}
/@volar/source-map@1.10.4:
resolution: {integrity: sha512-RxZdUEL+pV8p+SMqnhVjzy5zpb1QRZTlcwSk4bdcBO7yOu4rtEWqDGahVCEj4CcXour+0yJUMrMczfSCpP9Uxg==}
dependencies:
muggle-string: 0.3.1
dev: true
/@volar/typescript@1.10.3:
resolution: {integrity: sha512-n0ar6xGYpRoSvgGMetm/JXP0QAXx+NOUvxCaWCfCjiFivQRSLJeydYDijhoGBUl5KSKosqq9In5L3e/m2TqTcQ==}
/@volar/typescript@1.10.4:
resolution: {integrity: sha512-BCCUEBASBEMCrz7qmNSi2hBEWYsXD0doaktRKpmmhvb6XntM2sAWYu6gbyK/MluLDgluGLFiFRpWgobgzUqolg==}
dependencies:
'@volar/language-core': 1.10.3
'@volar/language-core': 1.10.4
dev: true
/@vue/compiler-core@3.2.45:
@ -4751,16 +4751,16 @@ packages:
- supports-color
dev: true
/@vue/language-core@1.8.18(typescript@5.2.2):
resolution: {integrity: sha512-byTi+mwSL7XnVRtfWE3MJy3HQryoVSQ3lymauXviegn3G1wwwlSOUljzQe3w5PyesOnBEIxYoavfKzMJnExrBA==}
/@vue/language-core@1.8.19(typescript@5.2.2):
resolution: {integrity: sha512-nt3dodGs97UM6fnxeQBazO50yYCKBK53waFWB3qMbLmR6eL3aUryZgQtZoBe1pye17Wl8fs9HysV3si6xMgndQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@volar/language-core': 1.10.3
'@volar/source-map': 1.10.3
'@volar/language-core': 1.10.4
'@volar/source-map': 1.10.4
'@vue/compiler-dom': 3.3.4
'@vue/reactivity': 3.3.4
'@vue/shared': 3.3.4
@ -4842,22 +4842,22 @@ packages:
resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==}
dev: true
/@vue/typescript@1.8.18(typescript@5.2.2):
resolution: {integrity: sha512-3M+lu+DUwJW0fNwd/rLE0FenmELxcC6zxgm/YZ25jSTi+uNGj9L5XvXvf20guC69gQvZ+cg49tTxbepfFVuNNQ==}
/@vue/typescript@1.8.19(typescript@5.2.2):
resolution: {integrity: sha512-k/SHeeQROUgqsxyHQ8Cs3Zz5TnX57p7BcBDVYR2E0c61QL2DJ2G8CsaBremmNGuGE6o1R5D50IHIxFmroMz8iw==}
dependencies:
'@volar/typescript': 1.10.3
'@vue/language-core': 1.8.18(typescript@5.2.2)
'@volar/typescript': 1.10.4
'@vue/language-core': 1.8.19(typescript@5.2.2)
transitivePeerDependencies:
- typescript
dev: true
/@vueuse/core@10.4.1(vue@3.3.4):
resolution: {integrity: sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==}
/@vueuse/core@10.5.0(vue@3.3.4):
resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==}
dependencies:
'@types/web-bluetooth': 0.0.17
'@vueuse/metadata': 10.4.1
'@vueuse/shared': 10.4.1(vue@3.3.4)
vue-demi: 0.14.5(vue@3.3.4)
'@types/web-bluetooth': 0.0.18
'@vueuse/metadata': 10.5.0
'@vueuse/shared': 10.5.0(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -4869,37 +4869,37 @@ packages:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.3.4)
vue-demi: 0.14.5(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: false
/@vueuse/metadata@10.4.1:
resolution: {integrity: sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==}
/@vueuse/metadata@10.5.0:
resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==}
dev: false
/@vueuse/metadata@9.13.0:
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
dev: false
/@vueuse/router@10.4.1(vue-router@4.2.5)(vue@3.3.4):
resolution: {integrity: sha512-gsMuSIDTUj7Gt91pnFbrhUCDaGObceQAs3+XGguRNj/WgzqLpywe37mE4645McDspEbig/n9nvn8SSmo6XRvPw==}
/@vueuse/router@10.5.0(vue-router@4.2.5)(vue@3.3.4):
resolution: {integrity: sha512-KboRSnSTaRBvKiwhCJ9RJHidaUMy5+5RyAwq46IPovVtKm9nIUfV0/F8dPwYx36rxAWn9iNWZUbKfu4cGW3XuA==}
peerDependencies:
vue-router: '>=4.0.0-rc.1'
dependencies:
'@vueuse/shared': 10.4.1(vue@3.3.4)
vue-demi: 0.14.5(vue@3.3.4)
'@vueuse/shared': 10.5.0(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
vue-router: 4.2.5(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: false
/@vueuse/shared@10.4.1(vue@3.3.4):
resolution: {integrity: sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==}
/@vueuse/shared@10.5.0(vue@3.3.4):
resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==}
dependencies:
vue-demi: 0.14.5(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -4908,7 +4908,7 @@ packages:
/@vueuse/shared@9.13.0(vue@3.3.4):
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
dependencies:
vue-demi: 0.14.5(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -7095,12 +7095,12 @@ packages:
tslib: 2.3.1
dev: true
/highlight.js@11.8.0:
resolution: {integrity: sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==}
/highlight.js@11.9.0:
resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
engines: {node: '>=12.0.0'}
dev: false
/histoire@0.17.2(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)(vite@4.4.11):
/histoire@0.17.2(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)(vite@4.4.11):
resolution: {integrity: sha512-Mz+4AWBs+P2TeopXJ0qG4ZsrpuLggNPNF3yG4Q8yg8kXcd6a9DXUWuEElYbglod/xP5XB8efaDy2nibLTybJzg==}
hasBin: true
peerDependencies:
@ -7136,8 +7136,8 @@ packages:
sade: 1.8.1
shiki-es: 0.2.0
sirv: 2.0.3
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite-node: 0.34.4(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
vite-node: 0.34.4(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
transitivePeerDependencies:
- '@types/node'
- bufferutil
@ -7553,7 +7553,7 @@ packages:
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
engines: {node: '>= 10.13.0'}
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
merge-stream: 2.0.0
supports-color: 7.2.0
dev: true
@ -7980,8 +7980,8 @@ packages:
hasBin: true
dev: false
/marked@9.1.0:
resolution: {integrity: sha512-VZjm0PM5DMv7WodqOUps3g6Q7dmxs9YGiFUZ7a2majzQTTCgX+6S6NAJHPvOhgFBzYz8s4QZKWWMfZKFmsfOgA==}
/marked@9.1.1:
resolution: {integrity: sha512-ZmXkUGH54U4rEy3GL9vYj8+S1PHJx/zz5pc4Frn7UdGiNREKT12fWBJ5a5ffjFtghx9C9912vEg9Zra1Nf7CnA==}
engines: {node: '>= 16'}
hasBin: true
dev: false
@ -8526,8 +8526,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/pinia@2.1.6(typescript@5.2.2)(vue@3.3.4):
resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==}
/pinia@2.1.7(typescript@5.2.2)(vue@3.3.4):
resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
peerDependencies:
'@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
@ -8541,7 +8541,7 @@ packages:
'@vue/devtools-api': 6.5.0
typescript: 5.2.2
vue: 3.3.4
vue-demi: 0.14.5(vue@3.3.4)
vue-demi: 0.14.6(vue@3.3.4)
dev: false
/pkg-dir@4.2.0:
@ -9342,8 +9342,8 @@ packages:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
dev: true
/sass@1.69.1:
resolution: {integrity: sha512-nc969GvTVz38oqKgYYVHM/Iq7Yl33IILy5uqaH2CWSiSUmRCvw+UR7tA3845Sp4BD5ykCUimvrT3k1EjTwpVUA==}
/sass@1.69.3:
resolution: {integrity: sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@ -10189,7 +10189,7 @@ packages:
extsprintf: 1.3.0
dev: true
/vite-node@0.34.4(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0):
/vite-node@0.34.4(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0):
resolution: {integrity: sha512-ho8HtiLc+nsmbwZMw8SlghESEE3KxJNp04F/jPUCLVvaURwt0d+r9LxEqCX5hvrrOQ0GSyxbYr5ZfRYhQ0yVKQ==}
engines: {node: '>=v14.18.0'}
hasBin: true
@ -10199,7 +10199,7 @@ packages:
mlly: 1.4.0
pathe: 1.1.1
picocolors: 1.0.0
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
transitivePeerDependencies:
- '@types/node'
- less
@ -10211,7 +10211,7 @@ packages:
- terser
dev: true
/vite-node@0.34.6(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0):
/vite-node@0.34.6(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0):
resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==}
engines: {node: '>=v14.18.0'}
hasBin: true
@ -10221,7 +10221,7 @@ packages:
mlly: 1.4.0
pathe: 1.1.1
picocolors: 1.0.0
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
transitivePeerDependencies:
- '@types/node'
- less
@ -10240,7 +10240,7 @@ packages:
vite: ^3.0.0 || ^4.0.0
dependencies:
mime-types: 2.1.35
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
dev: true
/vite-plugin-pwa@0.16.5(vite@4.4.11)(workbox-build@7.0.0)(workbox-window@7.0.0):
@ -10254,7 +10254,7 @@ packages:
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.1
pretty-bytes: 6.1.1
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
workbox-build: 7.0.0(acorn@8.9.0)
workbox-window: 7.0.0
transitivePeerDependencies:
@ -10268,7 +10268,7 @@ packages:
vite: ^2.6.0 || ^3.0.0 || ^4.0.0
dependencies:
'@sentry/cli': 2.19.1
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
transitivePeerDependencies:
- encoding
- supports-color
@ -10281,7 +10281,7 @@ packages:
svgo: 3.0.2
dev: true
/vite@4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0):
/vite@4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0):
resolution: {integrity: sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@ -10309,17 +10309,17 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 18.18.4
'@types/node': 18.18.5
esbuild: 0.18.15
postcss: 8.4.31
rollup: 3.29.4
sass: 1.69.1
sass: 1.69.3
terser: 5.10.0(acorn@8.9.0)
optionalDependencies:
fsevents: 2.3.2
dev: true
/vitest@0.34.6(happy-dom@10.11.2)(sass@1.69.1)(terser@5.10.0):
/vitest@0.34.6(happy-dom@10.11.2)(sass@1.69.3)(terser@5.10.0):
resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==}
engines: {node: '>=v14.18.0'}
hasBin: true
@ -10352,7 +10352,7 @@ packages:
dependencies:
'@types/chai': 4.3.5
'@types/chai-subset': 1.3.3
'@types/node': 18.18.4
'@types/node': 18.18.5
'@vitest/expect': 0.34.6
'@vitest/runner': 0.34.6
'@vitest/snapshot': 0.34.6
@ -10372,8 +10372,8 @@ packages:
strip-literal: 1.0.1
tinybench: 2.5.0
tinypool: 0.7.0
vite: 4.4.11(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite-node: 0.34.6(@types/node@18.18.4)(sass@1.69.1)(terser@5.10.0)
vite: 4.4.11(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
vite-node: 0.34.6(@types/node@18.18.5)(sass@1.69.3)(terser@5.10.0)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@ -10401,8 +10401,8 @@ packages:
resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==}
dev: true
/vue-demi@0.14.5(vue@3.3.4):
resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==}
/vue-demi@0.14.6(vue@3.3.4):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
@ -10498,14 +10498,14 @@ packages:
he: 1.2.0
dev: true
/vue-tsc@1.8.18(typescript@5.2.2):
resolution: {integrity: sha512-AwQxBB9SZX308TLL1932P1JByuMsXC2jLfRBGt8SBdm1e3cXkDlFaXUAqibfKnoQ1ZC2zO2NSbeBNdSjOcdvJw==}
/vue-tsc@1.8.19(typescript@5.2.2):
resolution: {integrity: sha512-tacMQLQ0CXAfbhRycCL5sWIy1qujXaIEtP1hIQpzHWOUuICbtTj9gJyFf91PvzG5KCNIkA5Eg7k2Fmgt28l5DQ==}
hasBin: true
peerDependencies:
typescript: '*'
dependencies:
'@vue/language-core': 1.8.18(typescript@5.2.2)
'@vue/typescript': 1.8.18(typescript@5.2.2)
'@vue/language-core': 1.8.19(typescript@5.2.2)
'@vue/typescript': 1.8.19(typescript@5.2.2)
semver: 7.5.4
typescript: 5.2.2
dev: true

View File

@ -3,7 +3,7 @@
class="menu-show-button"
@click="baseStore.toggleMenu()"
@shortkey="() => baseStore.toggleMenu()"
v-shortcut="'Control+e'"
v-shortcut="'Mod+e'"
:title="$t('keyboardShortcuts.toggleMenu')"
:aria-label="menuActive ? $t('misc.hideMenu') : $t('misc.showMenu')"
/>

View File

@ -5,13 +5,12 @@ import {onBeforeUnmount, onMounted} from 'vue'
import {eventToHotkeyString} from '@github/hotkey'
const baseStore = useBaseStore()
const GLOBAL_HOTKEY = 'Control+k'
// See https://github.com/github/hotkey/discussions/85#discussioncomment-5214660
function openQuickActionsViaHotkey(event) {
const hotkeyString = eventToHotkeyString(event)
if (!hotkeyString) return
if (hotkeyString !== GLOBAL_HOTKEY) return
if (hotkeyString !== 'Control+k' && hotkeyString !== 'Meta+k') return
event.preventDefault()
openQuickActions()

View File

@ -152,6 +152,10 @@ export const KEYBOARD_SHORTCUTS : ShortcutGroup[] = [
title: 'keyboardShortcuts.task.favorite',
keys: ['s'],
},
{
title: 'keyboardShortcuts.task.save',
keys: [ctrl, 's'],
},
],
},
]

View File

@ -1,15 +1,11 @@
import type {Directive} from 'vue'
import {install, uninstall} from '@github/hotkey'
import {isAppleDevice} from '@/helpers/isAppleDevice'
const directive = <Directive<HTMLElement,string>>{
mounted(el, {value}) {
if(value === '') {
return
}
if (isAppleDevice() && value.includes('Control')) {
value = value.replace('Control', 'Meta')
}
install(el, value)
},
beforeUnmount(el) {

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Smazat svůj účet",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "Chcete-li pokračovat, zadejte své heslo. Obdržíte e-mail s dalšími pokyny.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Smazat můj účet",
"requestSuccess": "Požadavek byl úspěšný. Obdržíte e-mail s dalšími pokyny.",
"passwordRequired": "Prosím zadejte Vaše heslo.",
@ -183,6 +184,7 @@
"scheduled": "Váš Vikunja účet odstraníme do {date} ({dateSince}).",
"scheduledCancel": "Chcete-li zrušit smazání vašeho účtu, klikněte zde.",
"scheduledCancelText": "Chcete-li zrušit smazání vašeho účtu, zadejte prosím své heslo níže:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Zrušit smazání mého účtu",
"scheduledCancelSuccess": "Váš účet nebude smazán."
},
@ -880,7 +882,8 @@
"description": "Přepnout úpravy popisu úkolu",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Slet din Vikunja konto",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "For at fortsætte, skal du indtaste din adgangskode. Du vil modtage en e-mail med yderligere instruktioner.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Slet min konto",
"requestSuccess": "Anmodningen blev gennemført. Du vil modtage en e-mail med yderligere instruktioner.",
"passwordRequired": "Indtast venligst din adgangskode.",
@ -183,6 +184,7 @@
"scheduled": "Vi sletter din Vikunja-konto {date} ({dateSince}).",
"scheduledCancel": "Klik her for at annullere sletningen af din konto.",
"scheduledCancelText": "For at annullere sletningen af din konto, skal du indtaste din adgangskode nedenfor:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Annuller sletningen af min konto",
"scheduledCancelSuccess": "Vi sletter ikke din konto."
},
@ -880,7 +882,8 @@
"description": "Slå redigering af opgavebeskrivelse til/fra",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Lösche deinen Vikunja-Account",
"text1": "Das Löschen deines Accounts ist dauerhaft und unwiderruflich. Alle Projekte, Aufgaben und zugehörige Daten werden gelöscht.",
"text2": "Zum Fortfahren gib bitte dein Passwort ein. Du erhältst eine E-Mail mit weiteren Anweisungen.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Meinen Account löschen",
"requestSuccess": "Die Anfrage war erfolgreich. Du erhältst eine E-Mail mit weiteren Anweisungen.",
"passwordRequired": "Bitte gib dein Passwort ein.",
@ -183,6 +184,7 @@
"scheduled": "Wir werden deinen Vikunja-Account am {date} ({dateSince}) löschen.",
"scheduledCancel": "Um die Löschung deines Accounts abzubrechen, klicke hier.",
"scheduledCancelText": "Um die Löschung deines Accounts abzubrechen, gib bitte dein Passwort unten ein:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Löschung meines Accounts abbrechen",
"scheduledCancelSuccess": "Wir werden deinen Account nicht löschen."
},
@ -880,7 +882,8 @@
"description": "Aufgabenbeschreibung bearbeiten",
"delete": "Diese Aufgabe löschen",
"priority": "Die Priorität dieser Aufgabe ändern",
"favorite": "Diese Aufgabe zum Favoriten machen / von Favoriten entfernen"
"favorite": "Diese Aufgabe zum Favoriten machen / von Favoriten entfernen",
"save": "Save the current task"
},
"project": {
"title": "Projektansichten",

View File

@ -176,6 +176,7 @@
"title": "Lösche deinen Vikunja-Account",
"text1": "Das Löschen deines Accounts ist dauerhaft und unwiderruflich. Alle Projekte, Aufgaben und zugehörige Daten werden gelöscht.",
"text2": "Zum Fortfahren gib bitte dein Passwort ein. Du erhältst eine E-Mail mit weiteren Anweisungen.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Meinen Account löschen",
"requestSuccess": "Die Anfrage war erfolgreich. Du erhältst eine E-Mail mit weiteren Anweisungen.",
"passwordRequired": "Bitte gib dein Passwort ein.",
@ -183,6 +184,7 @@
"scheduled": "Wir werden deinen Vikunja-Account am {date} ({dateSince}) löschen.",
"scheduledCancel": "Um die Löschung deines Accounts abzubrechen, klicke hier.",
"scheduledCancelText": "Um die Löschung deines Accounts abzubrechen, gib bitte dein Passwort unten ein:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Löschung meines Accounts abbrechen",
"scheduledCancelSuccess": "Wir werden deinen Account nicht löschen."
},
@ -880,7 +882,8 @@
"description": "Aufgabenbeschreibung bearbeiten",
"delete": "Diese Aufgabe löschen",
"priority": "Die Priorität dieser Aufgabe ändern",
"favorite": "Diese Aufgabe zum Favoriten machen / von Favoriten entfernen"
"favorite": "Diese Aufgabe zum Favoriten machen / von Favoriten entfernen",
"save": "Save the current task"
},
"project": {
"title": "Projektansichten",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -883,7 +885,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Eliminar tu Cuenta de Vikunja",
"text1": "El borrado de tu cuenta es permanente y no puede deshacerse. Borraremos todos tus proyectos, tareas y todo lo que esté asociado con ellos.",
"text2": "Para continuar, por favor, introduce tu contraseña. Recibirás un correo electrónico con más instrucciones.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Eliminar mi cuenta",
"requestSuccess": "La solicitud ha sido exitosa. Recibirás un correo electrónico con más instrucciones.",
"passwordRequired": "Por favor, introduce tu contraseña.",
@ -183,6 +184,7 @@
"scheduled": "Eliminaremos tu cuenta de Vikunja en {date} ({dateSince}).",
"scheduledCancel": "Para cancelar la eliminación de tu cuenta, haz clic aquí.",
"scheduledCancelText": "Para cancelar la eliminación de tu cuenta, por favor, introduce tu contraseña a continuación:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancelar la eliminación de mi cuenta",
"scheduledCancelSuccess": "No eliminaremos tu cuenta."
},
@ -880,7 +882,8 @@
"description": "Editar la descripción de la tarea",
"delete": "Eliminar esta tarea",
"priority": "Cambiar la prioridad de esta tarea",
"favorite": "Marcar esta tarea como favorita / no favorita"
"favorite": "Marcar esta tarea como favorita / no favorita",
"save": "Save the current task"
},
"project": {
"title": "Vistas de proyecto",

View File

@ -176,6 +176,7 @@
"title": "Supprimer votre compte Vikunja",
"text1": "La suppression de votre compte est définitive et ne peut pas être annulée. Nous supprimerons tous vos projets, tâches et tout ce qui y est associé.",
"text2": "Pour continuer, saisissez votre mot de passe. Vous recevrez un courriel contenant les instructions à suivre.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Supprimer mon compte",
"requestSuccess": "La requête a abouti. Vous recevrez un courriel avec des instructions à suivre.",
"passwordRequired": "Saisissez votre mot de passe.",
@ -183,6 +184,7 @@
"scheduled": "Nous allons supprimer votre compte Vikunja le {date} ({dateSince}).",
"scheduledCancel": "Pour annuler la suppression de votre compte, cliquez ici.",
"scheduledCancelText": "Pour annuler la suppression de votre compte, saisissez votre mot de passe ci-dessous :",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Annuler la suppression de mon compte",
"scheduledCancelSuccess": "Nous ne supprimerons pas votre compte."
},
@ -880,7 +882,8 @@
"description": "Activer ou désactiver la modification de la description de tâche",
"delete": "Supprimer cette tâche",
"priority": "Changer la priorité de cette tâche",
"favorite": "Marquer cette tâche comme favorite ou non"
"favorite": "Marquer cette tâche comme favorite ou non",
"save": "Save the current task"
},
"project": {
"title": "Vues du projet",

View File

@ -176,6 +176,7 @@
"title": "Törölje Vikunja fiókját",
"text1": "Fiókjának törlése végleges, és nem vonható vissza. Töröljük az összes projektjét, feladatát és minden, ami ehhez kapcsolódik.",
"text2": "A folytatáshoz adja meg jelszavát. Kapni fog egy e-mailt a további utasításokkal.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Fiókom törlése",
"requestSuccess": "A kérés sikeres volt. Kapni fog egy e-mailt a további utasításokkal.",
"passwordRequired": "Kérjük, írja be jelszavát.",
@ -183,6 +184,7 @@
"scheduled": "Vikunja fiókját a következő időpontban töröljük: {date} ({dateSince}).",
"scheduledCancel": "A fiók törlésének megszakításához kattintson ide.",
"scheduledCancelText": "Fiókja törlésének megszakításához adja meg jelszavát alább:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Fiókom törlésének megszakítása",
"scheduledCancelSuccess": "Fiókját nem töröljük."
},
@ -880,7 +882,8 @@
"description": "A feladatleírás szerkesztésének váltása",
"delete": "Feladat törlése",
"priority": "Módosítsa ennek a feladatnak a prioritását",
"favorite": "Jelölje meg ezt a feladatot kedvencként / nem kedvencként"
"favorite": "Jelölje meg ezt a feladatot kedvencként / nem kedvencként",
"save": "Save the current task"
},
"project": {
"title": "Projektnézetek",

View File

@ -176,6 +176,7 @@
"title": "Elimina il tuo Account Vikunja",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "Per continuare, inserisci la tua password. Riceverai un'e-mail con ulteriori istruzioni.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Elimina il mio profilo",
"requestSuccess": "Richiesta riuscita. Riceverai un'e-mail con ulteriori istruzioni.",
"passwordRequired": "Inserisci la tua password.",
@ -183,6 +184,7 @@
"scheduled": "Elimineremo il tuo account Vikunja il {date} ({dateSince}).",
"scheduledCancel": "Per annullare l'eliminazione del tuo account, clicca qui.",
"scheduledCancelText": "Per annullare l'eliminazione del tuo account, inserisci la password qui sotto:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Annulla l'eliminazione del mio account",
"scheduledCancelSuccess": "Non elimineremo il tuo account."
},
@ -880,7 +882,8 @@
"description": "Attiva/Disattiva modifica della descrizione dell'attività",
"delete": "Elimina questa attività",
"priority": "Modifica la priorità di questa attività",
"favorite": "Segna questa attività come preferita o non preferita"
"favorite": "Segna questa attività come preferita o non preferita",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Vikunjaアカウントの削除",
"text1": "アカウントの削除は永久的なものであり、元に戻すことはできません。あなたのプロジェクト、タスク、それらに関連するすべてのものを削除します。",
"text2": "続行するにはパスワードを入力してください。詳しい案内の記載したメールを送信します。",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "アカウントの削除",
"requestSuccess": "リクエストは成功しました。詳しい案内はメールでお知らせします。",
"passwordRequired": "パスワードを入力してください。",
@ -183,6 +184,7 @@
"scheduled": "{date} ({dateSince}) にVikunjaアカウントは削除されます。",
"scheduledCancel": "アカウントの削除を取り消す場合はこちらをご覧ください。",
"scheduledCancelText": "アカウントの削除を取り消すにはパスワードを入力してください:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "アカウント削除の取り消し",
"scheduledCancelSuccess": "アカウント削除は行われません。"
},
@ -880,7 +882,8 @@
"description": "タスクの説明を編集",
"delete": "タスクを削除",
"priority": "タスクの優先度を設定",
"favorite": "タスクをお気に入りに追加/削除"
"favorite": "タスクをお気に入りに追加/削除",
"save": "Save the current task"
},
"project": {
"title": "プロジェクト",

View File

@ -176,6 +176,7 @@
"title": "계정 삭제",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "계정을 삭제하시겠습니까?",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "비밀번호를 입력하십시오.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Verwijder je Vikunja account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "Graag je wachtwoord invullen om verder te gaan. Je zult een e-mail ontvangen met verdere instructies.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Verwijder mijn account",
"requestSuccess": "Het verzoek was succesvol. Je ontvangt een e-mail met verdere instructies.",
"passwordRequired": "Voer alsjeblieft je wachtwoord in.",
@ -183,6 +184,7 @@
"scheduled": "We zullen je Vikunja account op {date} ({dateSince}) verwijderen.",
"scheduledCancel": "Klik hier om de verwijdering van je account te annuleren.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Annuleer de verwijdering van mijn account",
"scheduledCancelSuccess": "We zullen je account niet verwijderen."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Slett kontoen din",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "For å fortsette, skriv inn passordet ditt. Du vil motta en e-post med ytterligere instruksjoner.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Slett min konto",
"requestSuccess": "Forespørselen var vellykket. Du vil motta en e-post med ytterligere instruksjoner.",
"passwordRequired": "Skriv inn ditt passord.",
@ -183,6 +184,7 @@
"scheduled": "Vi vil slette din Vikunja konto den {date} ({dateSince}).",
"scheduledCancel": "For å avbryte slettingen av kontoen din, klikk her.",
"scheduledCancelText": "For å avbryte slettingen av kontoen din, skriv inn passordet under:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Avbryt slettingen av kontoen min",
"scheduledCancelSuccess": "Vi vil ikke slette din konto."
},
@ -880,7 +882,8 @@
"description": "Veksle redigering av oppgavebeskrivelsen",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Prosjektvisning",

View File

@ -176,6 +176,7 @@
"title": "Usuń swoje konto Vikunja",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "Aby kontynuować, wprowadź swoje hasło. Otrzymasz wiadomość e-mail z dalszymi instrukcjami.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Usuń moje konto",
"requestSuccess": "Żądanie powiodło się. Otrzymasz wiadomość e-mail z dalszymi instrukcjami.",
"passwordRequired": "Wprowadź hasło.",
@ -183,6 +184,7 @@
"scheduled": "Twoje konto Vikunja zostanie usunięte w dniu {date} ({dateSince}).",
"scheduledCancel": "Aby anulować usunięcie konta, kliknij tutaj.",
"scheduledCancelText": "Aby anulować usunięcie konta, wprowadź poniżej swoje hasło:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Anuluj usunięcie mojego konta",
"scheduledCancelSuccess": "Nie usuniemy Twojego konta."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Eliminar a tua conta Vikunja",
"text1": "A eliminação da tua conta é permanente e não pode ser revertida. Vão ser eliminados todos os teus projetos, tarefas e tudo o que lhes está associado.",
"text2": "Para prosseguires, introduz por favor a tua palavra-passe. Receberás um e-mail com mais instruções.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Eliminar a minha conta",
"requestSuccess": "A solicitação foi bem sucedida. Receberás um e-mail com mais instruções.",
"passwordRequired": "Por favor, insere a tua palavra-passe.",
@ -183,6 +184,7 @@
"scheduled": "Vamos eliminar a tua conta no Vikunja em {date} ({dateSince}).",
"scheduledCancel": "Para cancelar a eliminação da tua conta, clica aqui.",
"scheduledCancelText": "Para cancelares a eliminação da tua conta, introduz a tua palavra-passe abaixo:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancelar a eliminação da minha conta",
"scheduledCancelSuccess": "Não vamos apagar a tua conta."
},
@ -880,7 +882,8 @@
"description": "Alternar edição da descrição da tarefa",
"delete": "Eliminar esta tarefa",
"priority": "Alterar a prioridade desta tarefa",
"favorite": "Marcar / Desmarcar esta tarefa como favorita"
"favorite": "Marcar / Desmarcar esta tarefa como favorita",
"save": "Save the current task"
},
"project": {
"title": "Vista do Projeto",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Удалить свой аккаунт VIkunja",
"text1": "Удаление аккаунта необратимо. Мы удалим все ваши проекты, задачи и всё связанное с ними.",
"text2": "Для продолжения введите свой пароль. На почту будет отправлено письмо с дальнейшими инструкциями.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Удалить мой аккаунт",
"requestSuccess": "Запрос успешно выполнен. На почту будет отправлено письмо с дальнейшими инструкциями.",
"passwordRequired": "Введите свой пароль.",
@ -183,6 +184,7 @@
"scheduled": "Мы удалим ваш аккаунт Vikunja {date} ({dateSince}).",
"scheduledCancel": "Что отменить удаление аккаунта, нажмите сюда.",
"scheduledCancelText": "Чтобы отменить удаление аккаунта, введите свой пароль ниже:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Отменить удаление моего аккаунта",
"scheduledCancelSuccess": "Мы не будем удалять ваш аккаунт."
},
@ -880,7 +882,8 @@
"description": "Включить изменение описания задачи",
"delete": "Удалить задачу",
"priority": "Изменить приоритет задачи",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Просмотр проекта",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "För att fortsätta, tryck på knappen nedan. Du kommer att få ett e-postmeddelande med ytterligare instruktioner.",
"confirm": "Radera mitt konto",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Vänligen ange ditt lösenord.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "Vi kommer inte radera ditt konto."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Radera denna uppgift",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "Xóa tài khoản của bạn",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "Để tiếp tục, vui lòng nhập mật khẩu của bạn. Bạn sẽ nhận được một email hướng dẫn thêm.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Xóa tài khoản của tôi",
"requestSuccess": "Yêu cầu đã thành công. Bạn sẽ nhận được một email hướng dẫn thêm.",
"passwordRequired": "Vui lòng nhập mật khẩu.",
@ -183,6 +184,7 @@
"scheduled": "Chúng tôi sẽ xóa tài khoản của bạn vào {date} ({dateSince}).",
"scheduledCancel": "Để hủy việc xóa tài khoản của bạn, hãy nhấp vào đây.",
"scheduledCancelText": "Để hủy việc xóa tài khoản, vui lòng nhập mật khẩu của bạn vào ô bên dưới:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Hủy lệnh xóa tài khoản",
"scheduledCancelSuccess": "Chúng tôi sẽ không xóa tài khoản của bạn nữa."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -176,6 +176,7 @@
"title": "删除您的 Vikunja 帐户",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "若要继续,请输入您的密码。您将收到一封包含更多说明的电子邮件。",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "删除我的帐户",
"requestSuccess": "请求成功。您将收到一封包含更多说明的电子邮件。",
"passwordRequired": "请输入密码",
@ -183,6 +184,7 @@
"scheduled": "您的 Vikunja帐户将于 {date} ({dateSince}) 完成注销删除。",
"scheduledCancel": "要取消您的帐户删除操作,请单击此处。",
"scheduledCancelText": "若要取消您的帐户删除操作,请在下面输入您的密码:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "取消删除我的帐户",
"scheduledCancelSuccess": "账户删除操作已撤销"
},
@ -207,7 +209,7 @@
"searchSelect": "Click or press enter to select this project",
"shared": "Shared Projects",
"noDescriptionAvailable": "No project description is available.",
"inboxTitle": "Inbox",
"inboxTitle": "收件箱",
"create": {
"header": "New project",
"titlePlaceholder": "The project's title goes here…",
@ -306,15 +308,15 @@
}
},
"list": {
"title": "List",
"add": "Add",
"title": "清单",
"add": "添加",
"addPlaceholder": "Add a new task…",
"empty": "This project is currently empty.",
"newTaskCta": "Create a new task.",
"editTask": "Edit Task"
},
"gantt": {
"title": "Gantt",
"title": "甘特图",
"showTasksWithoutDates": "Show tasks which don't have dates set",
"size": "Size",
"default": "Default",
@ -325,11 +327,11 @@
"noDates": "This task has no dates set."
},
"table": {
"title": "Table",
"columns": "Columns"
"title": "列表",
"columns": "详细信息"
},
"kanban": {
"title": "Kanban",
"title": "看板",
"limit": "Limit: {limit}",
"noLimit": "Not Set",
"doneBucket": "Done bucket",
@ -880,7 +882,8 @@
"description": "切换编辑时的任务描述",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",
@ -947,7 +950,7 @@
"createProject": "Create a project",
"cmds": {
"newTask": "新建任务",
"newProject": "New project",
"newProject": "新建项目",
"newTeam": "新建团队"
}
},

View File

@ -176,6 +176,7 @@
"title": "Delete your Vikunja Account",
"text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.",
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
"text3": "To proceed, please press the button below. You will receive an email with further instructions.",
"confirm": "Delete my account",
"requestSuccess": "The request was successful. You'll receive an email with further instructions.",
"passwordRequired": "Please enter your password.",
@ -183,6 +184,7 @@
"scheduled": "We will delete your Vikunja account at {date} ({dateSince}).",
"scheduledCancel": "To cancel the deletion of your account, click here.",
"scheduledCancelText": "To cancel the deletion of your account, please enter your password below:",
"scheduledCancelButton": "To cancel the deletion of your account, please press the button below:",
"scheduledCancelConfirm": "Cancel the deletion of my account",
"scheduledCancelSuccess": "We will not delete your account."
},
@ -880,7 +882,8 @@
"description": "Toggle editing of the task description",
"delete": "Delete this task",
"priority": "Change the priority of this task",
"favorite": "Mark this task as favorite / unfavorite"
"favorite": "Mark this task as favorite / unfavorite",
"save": "Save the current task"
},
"project": {
"title": "Project Views",

View File

@ -458,11 +458,12 @@
</template>
<script lang="ts" setup>
import {ref, reactive, toRef, shallowReactive, computed, watch, nextTick} from 'vue'
import {ref, reactive, toRef, shallowReactive, computed, watch, nextTick, onMounted, onBeforeUnmount} from 'vue'
import {useRouter, type RouteLocation} from 'vue-router'
import {useI18n} from 'vue-i18n'
import {unrefElement} from '@vueuse/core'
import {klona} from 'klona/lite'
import {eventToHotkeyString} from '@github/hotkey'
import TaskService from '@/services/task'
import TaskModel, {TASK_DEFAULT_COLOR} from '@/models/task'
@ -533,6 +534,24 @@ const kanbanStore = useKanbanStore()
const task = ref<ITask>(new TaskModel())
useTitle(toRef(task.value, 'title'))
// See https://github.com/github/hotkey/discussions/85#discussioncomment-5214660
function saveTaskViaHotkey(event) {
const hotkeyString = eventToHotkeyString(event)
if (!hotkeyString) return
if (hotkeyString !== 'Control+s' && hotkeyString !== 'Meta+s') return
event.preventDefault()
saveTask()
}
onMounted(() => {
document.addEventListener('keydown', saveTaskViaHotkey)
})
onBeforeUnmount(() => {
document.removeEventListener('keydown', saveTaskViaHotkey)
})
// We doubled the task color property here because verte does not have a real change property, leading
// to the color property change being triggered when the # is removed from it, leading to an update,
// which leads in turn to a change... This creates an infinite loop in which the task is updated, changed,

View File

@ -10,29 +10,34 @@
})
}}
</p>
<p>
{{ $t('user.deletion.scheduledCancelText') }}
</p>
<div class="field">
<label class="label" for="currentPasswordAccountDelete">
{{ $t('user.settings.currentPassword') }}
</label>
<div class="control">
<input
class="input"
:class="{'is-danger': errPasswordRequired}"
id="currentPasswordAccountDelete"
:placeholder="$t('user.settings.currentPasswordPlaceholder')"
type="password"
v-model="password"
@keyup="() => errPasswordRequired = password === ''"
ref="passwordInput"
/>
</div>
<p class="help is-danger" v-if="errPasswordRequired">
{{ $t('user.deletion.passwordRequired') }}
<template v-if="isLocalUser">
<p>
{{ $t('user.deletion.scheduledCancelText') }}
</p>
</div>
<div class="field">
<label class="label" for="currentPasswordAccountDelete">
{{ $t('user.settings.currentPassword') }}
</label>
<div class="control">
<input
class="input"
:class="{'is-danger': errPasswordRequired}"
id="currentPasswordAccountDelete"
:placeholder="$t('user.settings.currentPasswordPlaceholder')"
type="password"
v-model="password"
@keyup="() => errPasswordRequired = password === ''"
ref="passwordInput"
/>
</div>
<p class="help is-danger" v-if="errPasswordRequired">
{{ $t('user.deletion.passwordRequired') }}
</p>
</div>
</template>
<p v-else>
{{ $t('user.deletion.scheduledCancelButton') }}
</p>
</form>
<x-button
@ -43,10 +48,10 @@
</x-button>
</template>
<template v-else>
<form @submit.prevent="deleteAccount()">
<p>
{{ $t('user.deletion.text1') }}
</p>
<p>
{{ $t('user.deletion.text1') }}
</p>
<form @submit.prevent="deleteAccount()" v-if="isLocalUser">
<p>
{{ $t('user.deletion.text2') }}
</p>
@ -71,6 +76,9 @@
</p>
</div>
</form>
<p v-else>
{{ $t('user.deletion.text3') }}
</p>
<x-button
:loading="accountDeleteService.loading"
@ -83,7 +91,7 @@
</template>
<script lang="ts">
export default { name: 'user-settings-deletion' }
export default {name: 'user-settings-deletion'}
</script>
<script setup lang="ts">
@ -111,9 +119,12 @@ const configStore = useConfigStore()
const userDeletionEnabled = computed(() => configStore.userDeletionEnabled)
const deletionScheduledAt = computed(() => parseDateOrNull(authStore.info?.deletionScheduledAt))
const isLocalUser = computed(() => authStore.info?.isLocalUser)
const passwordInput = ref()
async function deleteAccount() {
if (password.value === '') {
if (isLocalUser.value && password.value === '') {
errPasswordRequired.value = true
passwordInput.value.focus()
return
@ -125,7 +136,7 @@ async function deleteAccount() {
}
async function cancelDeletion() {
if (password.value === '') {
if (isLocalUser.value && password.value === '') {
errPasswordRequired.value = true
passwordInput.value.focus()
return