Compare commits

...

71 Commits

Author SHA1 Message Date
renovate 7098b6315f chore(deps): update dependency vitest to v0.22.1 (#2276)
Reviewed-on: vikunja/frontend#2276
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-18 08:24:55 +00:00
renovate dc70df54ba fix(deps): update sentry-javascript monorepo to v7.11.1 (#2275)
Reviewed-on: vikunja/frontend#2275
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-17 20:29:27 +00:00
renovate 24dcbaba27 fix(deps): update sentry-javascript monorepo to v7.11.0 (#2274)
Reviewed-on: vikunja/frontend#2274
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-17 11:11:14 +00:00
kolaente eedbba5657
chore: release preparations 2022-08-17 10:17:18 +02:00
renovate 1223d8b679 chore(deps): update dependency esbuild to v0.15.5 (#2272)
Reviewed-on: vikunja/frontend#2272
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-17 06:17:47 +00:00
konrad c6e7390f13 fix: search for assignees by username (#2264)
Reviewed-on: vikunja/frontend#2264
2022-08-16 21:26:54 +00:00
kolaente a84fb8b5df
fix(lists): moving a list into another namespace on the first position
Resolves vikunja/frontend#2240
2022-08-16 23:21:34 +02:00
renovate 7bbd452f3b chore(deps): update dependency cypress to v10.6.0 (#2271)
Reviewed-on: vikunja/frontend#2271
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 21:11:39 +00:00
renovate 01c29578fb chore(deps): update dependency esbuild to v0.15.4 (#2270)
Reviewed-on: vikunja/frontend#2270
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 19:35:39 +00:00
renovate 5d58c4baa3 chore(deps): update dependency vite to v3.0.8 (#2269)
Reviewed-on: vikunja/frontend#2269
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 09:12:10 +00:00
renovate b1493e2be6 chore(deps): update dependency postcss-preset-env to v7.8.0 (#2268)
Reviewed-on: vikunja/frontend#2268
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 07:50:58 +00:00
renovate 50f19829d5 chore(deps): update dependency @cypress/vite-dev-server to v3.1.1 (#2267)
Reviewed-on: vikunja/frontend#2267
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 07:50:25 +00:00
renovate 99cba7fc02 chore(deps): update dependency cypress to v10.5.0 (#2266)
Reviewed-on: vikunja/frontend#2266
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-15 22:38:15 +00:00
renovate 89c67c9726 chore(deps): update dependency vitest to v0.22.0 (#2265)
Reviewed-on: vikunja/frontend#2265
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-15 21:13:00 +00:00
kolaente 3ab58a015c
fix(dark mode): make a focused text only button actually readable
Resolves https://github.com/go-vikunja/api/issues/41
2022-08-15 23:08:18 +02:00
kolaente 45b7434bda
fix(dark mode): code background color 2022-08-15 22:57:28 +02:00
renovate ae47298b3c chore(deps): update typescript-eslint monorepo to v5.33.1 (#2263)
Reviewed-on: vikunja/frontend#2263
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-15 19:00:10 +00:00
renovate 9f36085505 chore(deps): update dependency caniuse-lite to v1.0.30001376 (#2261)
Reviewed-on: vikunja/frontend#2261
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-15 08:13:16 +00:00
renovate cf6eea97b1 chore(deps): update dependency netlify-cli to v10.17.4 (#2262)
Reviewed-on: vikunja/frontend#2262
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-15 08:12:46 +00:00
renovate 739b26ae9f chore(deps): update dependency esbuild to v0.15.3 2022-08-14 15:02:47 +00:00
renovate f9e9c9d6e3 chore(deps): update dependency rollup to v2.78.0 (#2257)
Reviewed-on: vikunja/frontend#2257
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-14 06:30:14 +00:00
renovate 2cb482dc93 chore(deps): update dependency eslint to v8.22.0 (#2256)
Reviewed-on: vikunja/frontend#2256
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-14 06:29:48 +00:00
renovate 196b2f0c6c chore(deps): update dependency @vitejs/plugin-vue to v3.0.3 (#2253)
Reviewed-on: vikunja/frontend#2253
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-13 06:28:56 +00:00
renovate 52e94df048 chore(deps): update dependency vite to v3.0.7 (#2254)
Reviewed-on: vikunja/frontend#2254
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-13 06:28:32 +00:00
renovate 2454b0862d chore(deps): update dependency esbuild to v0.15.2 (#2255)
Reviewed-on: vikunja/frontend#2255
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-13 06:28:04 +00:00
renovate 63bbc44ed6 chore(deps): update dependency @cypress/vite-dev-server to v3.1.0 (#2248)
Reviewed-on: vikunja/frontend#2248
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 12:22:04 +00:00
renovate 05e8986916 chore(deps): update dependency @vitejs/plugin-vue to v3.0.2 (#2251)
Reviewed-on: vikunja/frontend#2251
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 12:21:30 +00:00
renovate 600808beb0 chore(deps): update dependency @cypress/vue to v4.1.0 (#2249)
Reviewed-on: vikunja/frontend#2249
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 11:25:52 +00:00
renovate 30bc74a5aa chore(deps): update dependency @vitejs/plugin-legacy to v2.0.1 (#2250)
Reviewed-on: vikunja/frontend#2250
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 11:20:42 +00:00
renovate d44d9f44bc chore(deps): update dependency vite to v3.0.6 (#2252)
Reviewed-on: vikunja/frontend#2252
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 11:19:09 +00:00
renovate ee89358be6 chore(deps): update dependency vue-tsc to v0.40.1 (#2243)
Reviewed-on: vikunja/frontend#2243
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-11 10:25:34 +00:00
renovate 7e5e3f81b3 chore(deps): update dependency esbuild to v0.15.1 (#2244)
Reviewed-on: vikunja/frontend#2244
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-11 10:25:05 +00:00
renovate 1bf41edb96 chore(deps): update dependency rollup to v2.77.3 (#2245)
Reviewed-on: vikunja/frontend#2245
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-11 10:24:34 +00:00
renovate 67b1b0b118 fix(deps): update sentry-javascript monorepo to v7.10.0 (#2242)
Reviewed-on: vikunja/frontend#2242
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-10 18:38:33 +00:00
renovate 8d76bec525 chore(deps): update dependency vitest to v0.21.1 (#2236)
Reviewed-on: vikunja/frontend#2236
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-10 12:11:53 +00:00
renovate 0da9262cce chore(deps): update dependency vue-tsc to v0.40.0 (#2241)
Reviewed-on: vikunja/frontend#2241
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-10 11:15:14 +00:00
renovate 1149d7adfd chore(deps): update dependency esbuild to v0.15.0 (#2239)
Reviewed-on: vikunja/frontend#2239
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-10 06:39:00 +00:00
renovate 8e472211ff chore(deps): update dependency sass to v1.54.4 (#2238)
Reviewed-on: vikunja/frontend#2238
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-10 06:37:04 +00:00
renovate 2ca0bc6dad chore(deps): update dependency vite to v3.0.5 (#2237)
Reviewed-on: vikunja/frontend#2237
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-09 11:16:18 +00:00
kolaente 51ffe93048
fix: clear all localstorage when logging out 2022-08-09 11:55:19 +02:00
renovate 3440d71e74 chore(deps): update dependency @faker-js/faker to v7.4.0 (#2234)
Reviewed-on: vikunja/frontend#2234
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 18:26:38 +00:00
renovate 067173f08e chore(deps): update typescript-eslint monorepo to v5.33.0 (#2235)
Reviewed-on: vikunja/frontend#2235
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 18:25:02 +00:00
renovate 40fa551f28 chore(deps): update dependency esbuild to v0.14.54 (#2233)
Reviewed-on: vikunja/frontend#2233
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 15:36:08 +00:00
renovate a804df342e chore(deps): update dependency netlify-cli to v10.15.0 (#2232)
Reviewed-on: vikunja/frontend#2232
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 10:32:09 +00:00
renovate 896196f08f chore(deps): update dependency caniuse-lite to v1.0.30001374 (#2231)
Reviewed-on: vikunja/frontend#2231
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 10:31:38 +00:00
renovate 245b134c92 chore(deps): update dependency vue-tsc to v0.39.5 2022-08-07 09:28:02 +00:00
renovate 667afa3c05 chore(deps): update dependency postcss to v8.4.16 (#2230)
Reviewed-on: vikunja/frontend#2230
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-07 09:27:16 +00:00
renovate 42e830eb73 fix(deps): update dependency vue-i18n to v9.2.2 (#2228)
Reviewed-on: vikunja/frontend#2228
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-05 18:28:31 +00:00
renovate 8718efbc1c chore(deps): update dependency vitest to v0.21.0 2022-08-05 17:39:27 +00:00
renovate 8c8a07f1de fix(deps): update dependency vue-i18n to v9.2.1 2022-08-05 17:03:15 +00:00
renovate 985f379845 fix(deps): update sentry-javascript monorepo to v7.9.0 (#2224)
Reviewed-on: vikunja/frontend#2224
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-05 14:13:49 +00:00
Dominik Pschenitschni 5b8d142abb fix: i18n scope 2022-08-04 21:33:24 +00:00
renovate 76cb94c488 chore(deps): update dependency sass to v1.54.3 (#2223)
Reviewed-on: vikunja/frontend#2223
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-04 21:31:55 +00:00
renovate 4994db4f77 fix(deps): update vueuse to v9.1.0 (#2220)
Reviewed-on: vikunja/frontend#2220
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-04 07:18:47 +00:00
renovate 35d3cd6e83 chore(deps): update dependency sass to v1.54.2 (#2219)
Reviewed-on: vikunja/frontend#2219
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-04 07:15:52 +00:00
kolaente 7a46843a28
chore: release preparations 2022-08-03 20:17:37 +02:00
kolaente bafef06e90
chore: add git-cliff config 2022-08-03 20:10:39 +02:00
renovate d5445e0298 chore(deps): update dependency esbuild to v0.14.53 (#2217)
Reviewed-on: vikunja/frontend#2217
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-03 17:14:28 +00:00
renovate 9bbaa67eec chore(deps): update dependency sass to v1.54.1 (#2218)
Reviewed-on: vikunja/frontend#2218
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-03 17:14:23 +00:00
renovate 1f14e7bee8 chore(deps): update dependency cypress to v10.4.0 (#2216)
Reviewed-on: vikunja/frontend#2216
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-02 17:49:29 +00:00
renovate e05b729c21 chore(deps): update dependency vitest to v0.20.3 (#2215)
Reviewed-on: vikunja/frontend#2215
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-02 16:19:17 +00:00
kolaente ad7ed86d36
fix: don't replace the last edited task with the one currently editing 2022-08-02 15:27:24 +02:00
kolaente e82a83c8cf
fix: properly parse dates or null
Resolves vikunja/frontend#2214
2022-08-02 15:19:58 +02:00
kolaente 31480eae72
fix: default label color in dark mode
Resolves vikunja/frontend#2200
2022-08-02 15:05:33 +02:00
renovate c8162728b7 chore(deps): update workbox monorepo to v6.5.4 (#2204)
Reviewed-on: vikunja/frontend#2204
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-02 11:40:56 +00:00
kolaente 8b3072672a
fix: progress bar color in dark mode
Resolves vikunja/frontend#2194
2022-08-02 13:02:19 +02:00
renovate 0e09f9fded chore(deps): update typescript-eslint monorepo to v5.32.0 (#2213)
Reviewed-on: vikunja/frontend#2213
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-01 18:49:08 +00:00
renovate ab406f00d9 fix(deps): update sentry-javascript monorepo to v7.8.1 (#2212)
Reviewed-on: vikunja/frontend#2212
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-01 15:21:05 +00:00
renovate 2507f661e8 chore(deps): update dependency eslint to v8.21.0 (#2211)
Reviewed-on: vikunja/frontend#2211
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-01 13:41:42 +00:00
renovate cf27131e48 fix(deps): update dependency vue-i18n to v9.2.0 (#2210)
Reviewed-on: vikunja/frontend#2210
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-01 13:40:14 +00:00
drone 54d8e341ab [skip ci] Updated translations via Crowdin 2022-08-01 00:13:27 +00:00
21 changed files with 4114 additions and 742 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
[![Build Status](https://drone.kolaente.de/api/badges/vikunja/frontend/status.svg)](https://drone.kolaente.de/vikunja/frontend)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE)
[![Download](https://img.shields.io/badge/download-v0.18.2-brightgreen.svg)](https://dl.vikunja.io)
[![Download](https://img.shields.io/badge/download-v0.19.1-brightgreen.svg)](https://dl.vikunja.io)
[![Translation](https://badges.crowdin.net/vikunja/localized.svg)](https://crowdin.com/project/vikunja)
This is the web frontend for Vikunja, written in Vue.js.

59
cliff.toml Normal file
View File

@ -0,0 +1,59 @@
[changelog]
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits
| filter(attribute="scope")
| sort(attribute="scope") %}
* *({{commit.scope}})* {{ commit.message | upper_first }}
{%- if commit.breaking %}
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
{%- endif -%}
{%- endfor -%}
{%- for commit in commits %}
{%- if commit.scope -%}
{% else -%}
* {{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))
{% if commit.breaking -%}
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
{% endif -%}
{% endif -%}
{% endfor -%}
{% raw %}\n{% endraw %}\
{% endfor %}\n
"""
#{% for group, commits in commits | group_by(attribute="group") %}
# ### {{ group | upper_first }}
# {% for commit in commits %}\
# - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))
# {% endfor %}\
#{% endfor %}\n
# remove the leading and trailing whitespace from the template
trim = true
[git]
conventional_commits = true
filter_unconventional = false
commit_parsers = [
{ message = ".*(deps).*", group = "Dependencies"},
{ message = "^feat", group = "Features"},
{ message = "^fix", group = "Bug Fixes"},
{ message = "^doc", group = "Documentation"},
{ message = "^perf", group = "Performance"},
{ message = "^refactor", group = "Refactor"},
{ message = "^style", group = "Styling"},
{ message = "^test", group = "Testing"},
{ message = "^chore\\(release\\): prepare for", skip = true},
{ message = "^chore", group = "Miscellaneous Tasks"},
{ body = ".*security", group = "Security"},
{ message = ".*", group = "Other", default_scope = "other"}, # Everything that's not a conventional commit goes into the "Other" category
]

View File

@ -3,14 +3,19 @@ import {UserFactory} from '../../factories/user'
import {NamespaceFactory} from '../../factories/namespace'
import {TaskFactory} from '../../factories/task'
export function createLists() {
UserFactory.create(1)
NamespaceFactory.create(1)
const lists = ListFactory.create(1, {
title: 'First List'
})
TaskFactory.truncate()
return lists
}
export function prepareLists(setLists = () => {}) {
beforeEach(() => {
UserFactory.create(1)
NamespaceFactory.create(1)
const lists = ListFactory.create(1, {
title: 'First List'
})
const lists = createLists()
setLists(lists)
TaskFactory.truncate()
})
}

View File

@ -1,16 +1,44 @@
import '../../support/authenticateUser'
import {createLists} from '../list/prepareLists'
function logout() {
cy.get('.navbar .user .username')
.click()
cy.get('.navbar .user .dropdown-menu .dropdown-item')
.contains('Logout')
.click()
}
describe('Log out', () => {
it('Logs the user out', () => {
cy.visit('/')
cy.get('.navbar .user .username')
.click()
cy.get('.navbar .user .dropdown-menu .dropdown-item')
.contains('Logout')
.click()
expect(localStorage.getItem('token')).to.not.eq(null)
logout()
cy.url()
.should('contain', '/login')
.then(() => {
expect(localStorage.getItem('token')).to.eq(null)
})
})
it.skip('Should clear the list history after logging the user out', () => {
const lists = createLists()
cy.visit(`/lists/${lists[0].id}`)
.then(() => {
expect(localStorage.getItem('listHistory')).to.not.eq(null)
})
logout()
cy.wait(1000) // This makes re-loading of the list and associated entities (and the resulting error) visible
cy.url()
.should('contain', '/login')
.then(() => {
expect(localStorage.getItem('listHistory')).to.eq(null)
})
})
})

View File

@ -20,12 +20,12 @@
"dependencies": {
"@github/hotkey": "2.0.1",
"@kyvg/vue3-notification": "2.3.6",
"@sentry/tracing": "7.8.0",
"@sentry/vue": "7.8.0",
"@sentry/tracing": "7.11.1",
"@sentry/vue": "7.11.1",
"@types/is-touch-device": "1.0.0",
"@types/sortablejs": "1.13.0",
"@vueuse/core": "9.0.2",
"@vueuse/router": "9.0.2",
"@vueuse/core": "9.1.0",
"@vueuse/router": "9.1.0",
"blurhash": "1.1.5",
"bulma-css-variables": "0.9.33",
"camel-case": "4.1.2",
@ -48,53 +48,53 @@
"vue-advanced-cropper": "2.8.3",
"vue-drag-resize": "2.0.3",
"vue-flatpickr-component": "9.0.6",
"vue-i18n": "9.2.0-beta.40",
"vue-i18n": "9.2.2",
"vue-router": "4.1.3",
"vuex": "4.0.2",
"workbox-precaching": "6.5.3",
"workbox-precaching": "6.5.4",
"zhyswan-vuedraggable": "4.1.3"
},
"devDependencies": {
"@4tw/cypress-drag-drop": "2.2.1",
"@cypress/vite-dev-server": "3.0.0",
"@cypress/vue": "4.0.0",
"@faker-js/faker": "7.3.0",
"@cypress/vite-dev-server": "3.1.1",
"@cypress/vue": "4.1.0",
"@faker-js/faker": "7.4.0",
"@fortawesome/fontawesome-svg-core": "6.1.2",
"@fortawesome/free-regular-svg-icons": "6.1.2",
"@fortawesome/free-solid-svg-icons": "6.1.2",
"@fortawesome/vue-fontawesome": "3.0.1",
"@types/flexsearch": "0.7.3",
"@typescript-eslint/eslint-plugin": "5.31.0",
"@typescript-eslint/parser": "5.31.0",
"@vitejs/plugin-legacy": "2.0.0",
"@vitejs/plugin-vue": "3.0.1",
"@typescript-eslint/eslint-plugin": "5.33.1",
"@typescript-eslint/parser": "5.33.1",
"@vitejs/plugin-legacy": "2.0.1",
"@vitejs/plugin-vue": "3.0.3",
"@vue/eslint-config-typescript": "11.0.0",
"@vue/test-utils": "2.0.2",
"@vue/tsconfig": "0.1.3",
"autoprefixer": "10.4.8",
"axios": "0.27.2",
"browserslist": "4.21.3",
"caniuse-lite": "1.0.30001373",
"cypress": "10.3.1",
"esbuild": "0.14.51",
"eslint": "8.20.0",
"caniuse-lite": "1.0.30001376",
"cypress": "10.6.0",
"esbuild": "0.15.5",
"eslint": "8.22.0",
"eslint-plugin-vue": "9.3.0",
"express": "4.18.1",
"happy-dom": "6.0.4",
"netlify-cli": "10.13.0",
"postcss": "8.4.14",
"postcss-preset-env": "7.7.2",
"rollup": "2.77.2",
"netlify-cli": "10.17.4",
"postcss": "8.4.16",
"postcss-preset-env": "7.8.0",
"rollup": "2.78.0",
"rollup-plugin-visualizer": "5.7.1",
"sass": "1.54.0",
"sass": "1.54.4",
"typescript": "4.7.4",
"vite": "3.0.4",
"vite": "3.0.8",
"vite-plugin-pwa": "0.12.3",
"vite-svg-loader": "3.4.0",
"vitest": "0.20.2",
"vue-tsc": "0.39.4",
"vitest": "0.22.1",
"vue-tsc": "0.40.1",
"wait-on": "6.0.1",
"workbox-cli": "6.5.3"
"workbox-cli": "6.5.4"
},
"postcss": {
"plugins": {

View File

@ -7,7 +7,7 @@
:disabled="disabled || undefined"
ref="button"
>
<slot />
<slot/>
</component>
</template>
@ -16,7 +16,7 @@ import {defineComponent} from 'vue'
// see https://v3.vuejs.org/api/sfc-script-setup.html#usage-alongside-normal-script
export default defineComponent({
inheritAttrs: false,
inheritAttrs: false,
})
</script>
@ -30,11 +30,11 @@ export default defineComponent({
// NOTE: Do NOT use buttons with @click to push routes. => Use router-links instead!
import { ref, watchEffect, computed, useAttrs, PropType } from 'vue'
import {ref, watchEffect, computed, useAttrs, PropType} from 'vue'
const BASE_BUTTON_TYPES_MAP = Object.freeze({
button: 'button',
submit: 'submit',
const BASE_BUTTON_TYPES_MAP = Object.freeze({
button: 'button',
submit: 'submit',
})
type BaseButtonTypes = keyof typeof BASE_BUTTON_TYPES_MAP
@ -52,6 +52,7 @@ const props = defineProps({
const componentNodeName = ref<Node['nodeName']>('button')
interface ElementBindings {
type?: string;
rel?: string;
@ -92,6 +93,7 @@ watchEffect(() => {
const isButton = computed(() => componentNodeName.value === 'button')
const button = ref()
function focus() {
button.value.focus()
}
@ -123,7 +125,7 @@ defineExpose({
user-select: none;
pointer-events: auto; // disable possible resets
&:focus {
&:focus, &.is-focused {
outline: transparent;
}

View File

@ -243,7 +243,7 @@ function updateActiveLists(namespace: NamespaceModel, activeLists: ListModel[])
const listUpdating = ref<{ [id: NamespaceModel['id']]: boolean }>({})
async function saveListPosition(e: SortableEvent) {
if (!e.newIndex) return
if (!e.newIndex && e.newIndex !== 0) return
const namespaceId = parseInt(e.to.dataset.namespaceId as string)
const newNamespaceIndex = parseInt(e.to.dataset.namespaceIndex as string)

View File

@ -499,6 +499,14 @@ export default defineComponent({
if (typeof this.filters[filterName] === 'undefined' || this.filters[filterName] === '') {
return
}
// Don't load things if we already have something loaded.
// This is not the most ideal solution because it prevents a re-population when filters are changed
// from the outside. It is still fine because we're not changing them from the outside, other than
// loading them initially.
if(this[kind].length > 0) {
return
}
this[kind] = await this[`${servicePrefix}Service`].getAll({}, {s: this.filters[filterName]})
},
@ -532,6 +540,7 @@ export default defineComponent({
if (query === '') {
this.clear(kind)
return
}
const response = await this[`${kind}Service`].getAll({}, {s: query})
@ -558,7 +567,7 @@ export default defineComponent({
let ids = []
this[kind].forEach(u => {
ids.push(u.id)
ids.push(kind === 'users' ? u.username : u.id)
})
this.filters[filterName] = ids.join(',')

View File

@ -93,12 +93,9 @@ import {success} from '@/message'
const {t} = useI18n({useScope: 'global'})
const router = useRouter()
const props = defineProps({
task: {
type: TaskModel,
required: true,
},
})
const props = defineProps<{
task?: TaskModel | null,
}>()
const taskService = shallowReactive(new TaskService())

View File

@ -82,7 +82,7 @@ const props = defineProps({
},
})
const {t} = useI18n()
const {t} = useI18n({useScope: 'global'})
const emit = defineEmits(['update:modelValue', 'change'])

View File

@ -1,13 +1,14 @@
/**
* Make date objects from timestamps
*/
*/
export function parseDateOrNull(date) {
if (date instanceof Date) {
return date
}
if (date && !date.startsWith('0001')) {
if ((typeof date === 'string' || date instanceof String) && !date.startsWith('0001')) {
return new Date(date)
}
return null
}

1032
src/i18n/lang/zh-CN.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -287,6 +287,7 @@ export default {
},
logout(ctx) {
removeToken()
window.localStorage.clear() // Clear all settings and history we might have saved in local storage.
ctx.dispatch('checkAuth')
},
},

View File

@ -245,6 +245,7 @@
--border: var(--grey-200);
--input-disabled-background-color: var(--grey-100);
--input-disabled-border-color: var(--grey-300);
--progress-value-background-color: var(--grey-500);
// END Overrides of Bulma defaults
@ -286,12 +287,15 @@
// Elements that rely on Bulma defaults in light mode but
// need to be overriden in dark mode
--input-placeholder-color: hsla(var(--grey-900-hsl), 0.6);
--tag-color: var(--grey-800);
--tag-color: var(--grey-300);
--table-row-hover-background-color: var(--grey-100);
--dropdown-item-hover-background-color: var(--grey-100);
--dropdown-item-hover-color: var(--text);
--pre-background: var(--grey-200);
--button-text-hover-background-color: var(--grey-200);
--button-hover-color: var(--grey-600);
--button-active-color: var(--grey-600);
--button-focus-color: var(--grey-600);
// Custom color variables we need to override
--card-border-color: hsla(var(--grey-100-hsl), 0.3);

View File

@ -52,11 +52,6 @@ h6 {
margin: 0 0.5rem 0 0;
flex: 3 1 auto;
&::-moz-progress-bar,
&::-webkit-progress-value {
background: var(--grey-500);
}
@media screen and (max-width: $tablet) {
margin: 0.5rem 0 0 0;
order: 1;

View File

@ -1,7 +1,7 @@
/* eslint-disable no-console */
/* eslint-disable no-undef */
const workboxVersion = 'v6.5.3'
const workboxVersion = 'v6.5.4'
importScripts( `/workbox-${workboxVersion}/workbox-sw.js`)
workbox.setConfig({
modulePathPrefix: `/workbox-${workboxVersion}`,

View File

@ -288,19 +288,9 @@ export default defineComponent({
this.$store.commit(HAS_TASKS, true)
},
editTask(id) {
// Find the selected task and set it to the current object
let theTask = this.getTaskById(id) // Somehow this does not work if we directly assign this to this.taskEditTask
this.taskEditTask = theTask
this.taskEditTask = {...this.tasks.find(t => t.id === parseInt(id))}
this.isTaskEdit = true
},
getTaskById(id) {
for (const t in this.tasks) {
if (this.tasks[t].id === parseInt(id)) {
return this.tasks[t]
}
}
return {} // FIXME: This should probably throw something to make it clear to the user noting was found
},
updateTasks(updatedTask) {
for (const t in this.tasks) {
if (this.tasks[t].id === updatedTask.id) {

View File

@ -71,7 +71,7 @@ import NamespaceModel from '@/models/namespace'
import {useI18n} from 'vue-i18n'
import {useTitle} from '@/composables/useTitle'
const {t} = useI18n()
const {t} = useI18n({useScope: 'global'})
const store = useStore()
const namespaceService = ref(new NamespaceService())

View File

@ -25,7 +25,7 @@ import {getErrorText} from '@/message'
import Message from '@/components/misc/message.vue'
import {clearLastVisited, getLastVisited} from '@/helpers/saveLastVisited'
const {t} = useI18n()
const {t} = useI18n({useScope: 'global'})
const router = useRouter()
const route = useRoute()

1524
yarn.lock

File diff suppressed because it is too large Load Diff