Compare commits

..

57 Commits

Author SHA1 Message Date
Dominik Pschenitschni c1f5f92fa1
fix: improve some types
continuous-integration/drone/pr Build is failing Details
2022-08-04 22:40:02 +02:00
Dominik Pschenitschni 091599bdf0
fix: createNewTask typing 2022-08-04 22:40:02 +02:00
Dominik Pschenitschni e6654140c7
fix: merge duplicate types 2022-08-04 22:40:02 +02:00
Dominik Pschenitschni 305bfac578
fix: use correct model for generics 2022-08-04 22:40:02 +02:00
Dominik Pschenitschni d6b0f26bd1
feat: improve store typing 2022-08-04 22:40:02 +02:00
Dominik Pschenitschni fcdb704152
feat: extend mode interface from class instead from interface 2022-08-04 22:40:01 +02:00
Dominik Pschenitschni 5d3571449b
fix: add lodash.clonedeep types 2022-08-04 22:40:01 +02:00
Dominik Pschenitschni af804525d5
feat: use lib ESNext setting for typescript 2022-08-04 22:40:01 +02:00
Dominik Pschenitschni 767c95522d
feat: improve store and model typing 2022-08-04 22:40:01 +02:00
Dominik Pschenitschni b642c66f5d
feat: improve types 2022-08-04 22:38:12 +02:00
Dominik Pschenitschni a423577229
chore: better variable typing 2022-08-04 22:38:12 +02:00
Dominik Pschenitschni 674d94f914
chore: remove unnecessary defineComponent 2022-08-04 22:38:12 +02:00
Dominik Pschenitschni b4724a987a
chore: remove global mixing 2022-08-04 22:38:12 +02:00
Dominik Pschenitschni 55ae90e8d8
chore: remove date mixins 2022-08-04 22:38:11 +02:00
Dominik Pschenitschni e5f272c29c
feat: function attribute typing 2022-08-04 22:38:10 +02:00
Dominik Pschenitschni becbed9c1c
feat: constants 2022-08-04 22:17:33 +02:00
Dominik Pschenitschni 4059f1c088
chore: improve type imports 2022-08-04 22:17:33 +02:00
Dominik Pschenitschni f1b8f0658c
feat: add properties to models 2022-08-04 22:17:33 +02:00
Dominik Pschenitschni 6e255c865c
feat: convert abstractService to ts 2022-08-04 22:17:33 +02:00
renovate 4994db4f77 fix(deps): update vueuse to v9.1.0 (#2220)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
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)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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)
continuous-integration/drone/push Build was killed Details
Reviewed-on: #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)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
2022-08-02 15:27:24 +02:00
kolaente e82a83c8cf
fix: properly parse dates or null
continuous-integration/drone/push Build is passing Details
Resolves #2214
2022-08-02 15:19:58 +02:00
kolaente 31480eae72
fix: default label color in dark mode
continuous-integration/drone/push Build is failing Details
Resolves #2200
2022-08-02 15:05:33 +02:00
renovate c8162728b7 chore(deps): update workbox monorepo to v6.5.4 (#2204)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Resolves #2194
2022-08-02 13:02:19 +02:00
renovate 0e09f9fded chore(deps): update typescript-eslint monorepo to v5.32.0 (#2213)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #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
renovate 7b17ccbf1f fix(deps): update sentry-javascript monorepo to v7.8.0 (#2208)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2208
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 18:45:49 +00:00
renovate ce7563ea4c fix(deps): update vueuse to v9 (major) (#2209)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2209
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 17:39:53 +00:00
renovate d9f3555d8d fix(deps): update dependency vue-router to v4.1.3 (#2206)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2206
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 17:14:05 +00:00
renovate b2dd63630c chore(deps): update typescript-eslint monorepo to v5.31.0 (#2207)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2207
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 17:12:34 +00:00
renovate db1a41f845 fix(deps): update dependency @kyvg/vue3-notification to v2.3.6 (#2205)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2205
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 17:01:26 +00:00
renovate 08ae0046de chore(deps): update dependency vue-tsc to v0.39.4 (#2187)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #2187
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 16:21:19 +00:00
renovate c173542b23 chore(deps): update dependency rollup to v2.77.2 (#2203)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2203
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 16:19:32 +00:00
kolaente 518417c0de
feat: add more testcases for parsing weekdays
continuous-integration/drone/push Build is passing Details
Related to vikunja/api#1223
2022-07-31 18:16:31 +02:00
renovate c2e58a2320 chore(deps): update dependency autoprefixer to v10.4.8 (#2202)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2202
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 16:09:59 +00:00
renovate d94a25c83f fix(deps): update dependency date-fns to v2.29.1 (#2185)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2185
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:48:43 +00:00
renovate ad9ca61969 chore(deps): update dependency sass to v1.54.0 (#2186)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #2186
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:48:12 +00:00
renovate d28d9218bd chore(deps): update caniuse-and-related (#2189)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2189
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:47:43 +00:00
renovate af08713bf0 chore(deps): update dependency netlify-cli to v10.13.0 (#2190)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2190
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:47:11 +00:00
renovate 0b01f2aace chore(deps): update dependency esbuild to v0.14.51 (#2191)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2191
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:46:22 +00:00
renovate 579de70a7a chore(deps): update dependency eslint-plugin-vue to v9.3.0 (#2192)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2192
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:45:46 +00:00
renovate 660ab928a2 chore(deps): update dependency vite to v3.0.4 (#2193)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #2193
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:44:53 +00:00
renovate 9394f57fc9 chore(deps): update font awesome to v6.1.2 (#2198)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2198
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 13:44:12 +00:00
konrad 873169c371 chore(deps): update dependency vitest to v0.20.2 (#2188)
continuous-integration/drone/push Build is passing Details
Reviewed-on: #2188
2022-07-31 13:43:34 +00:00
renovate 098fd0a875 chore(deps): update dependency vitest to v0.20.2
continuous-integration/drone/pr Build is passing Details
2022-07-31 12:02:53 +00:00
drone c0cd69dd82 [skip ci] Updated translations via Crowdin 2022-07-23 00:15:10 +00:00
32 changed files with 3955 additions and 477 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.0-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

@ -19,18 +19,18 @@
},
"dependencies": {
"@github/hotkey": "2.0.1",
"@kyvg/vue3-notification": "2.3.5",
"@sentry/tracing": "7.7.0",
"@sentry/vue": "7.7.0",
"@kyvg/vue3-notification": "2.3.6",
"@sentry/tracing": "7.8.1",
"@sentry/vue": "7.8.1",
"@types/is-touch-device": "1.0.0",
"@types/lodash.clonedeep": "^4.5.7",
"@types/sortablejs": "1.13.0",
"@vueuse/core": "8.9.4",
"@vueuse/router": "8.9.4",
"@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",
"date-fns": "2.28.0",
"date-fns": "2.29.1",
"dompurify": "2.3.10",
"easymde": "2.16.1",
"flatpickr": "4.6.13",
@ -49,10 +49,10 @@
"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-router": "4.1.2",
"vue-i18n": "9.2.0",
"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": {
@ -60,42 +60,42 @@
"@cypress/vite-dev-server": "3.0.0",
"@cypress/vue": "4.0.0",
"@faker-js/faker": "7.3.0",
"@fortawesome/fontawesome-svg-core": "6.1.1",
"@fortawesome/free-regular-svg-icons": "6.1.1",
"@fortawesome/free-solid-svg-icons": "6.1.1",
"@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.30.7",
"@typescript-eslint/parser": "5.30.7",
"@typescript-eslint/eslint-plugin": "5.32.0",
"@typescript-eslint/parser": "5.32.0",
"@vitejs/plugin-legacy": "2.0.0",
"@vitejs/plugin-vue": "3.0.1",
"@vue/eslint-config-typescript": "11.0.0",
"@vue/test-utils": "2.0.2",
"@vue/tsconfig": "0.1.3",
"autoprefixer": "10.4.7",
"autoprefixer": "10.4.8",
"axios": "0.27.2",
"browserslist": "4.21.1",
"caniuse-lite": "1.0.30001363",
"cypress": "10.3.1",
"esbuild": "0.14.49",
"eslint": "8.20.0",
"eslint-plugin-vue": "9.2.0",
"browserslist": "4.21.3",
"caniuse-lite": "1.0.30001373",
"cypress": "10.4.0",
"esbuild": "0.14.53",
"eslint": "8.21.0",
"eslint-plugin-vue": "9.3.0",
"express": "4.18.1",
"happy-dom": "6.0.4",
"netlify-cli": "10.9.0",
"netlify-cli": "10.13.0",
"postcss": "8.4.14",
"postcss-preset-env": "7.7.2",
"rollup": "2.77.0",
"rollup": "2.77.2",
"rollup-plugin-visualizer": "5.7.1",
"sass": "1.53.0",
"sass": "1.54.2",
"typescript": "4.7.4",
"vite": "3.0.2",
"vite": "3.0.4",
"vite-plugin-pwa": "0.12.3",
"vite-svg-loader": "3.4.0",
"vitest": "0.18.1",
"vue-tsc": "0.38.9",
"vitest": "0.20.3",
"vue-tsc": "0.39.4",
"wait-on": "6.0.1",
"workbox-cli": "6.5.3"
"workbox-cli": "6.5.4"
},
"postcss": {
"plugins": {

View File

@ -137,7 +137,7 @@ export default {name: 'userTeamShare'}
</script>
<script setup lang="ts">
import {ref, reactive, computed, shallowReactive, type ShallowReactive, type Ref} from 'vue'
import {ref, reactive, computed, shallowReactive, type Ref} from 'vue'
import type {PropType} from 'vue'
import {useStore} from '@/store'
import {useI18n} from 'vue-i18n'

View File

@ -95,8 +95,7 @@ const router = useRouter()
const props = defineProps({
task: {
type: Object as PropType<ITask>,
required: true,
type: Object as PropType<ITask | null>,
},
})

View File

@ -30,7 +30,7 @@
{{ task.title }}
</span>
<labels class="labels ml-2 mr-1" :labels="task.labels" v-if="task.labels.length > 0"/>
<labels class="labels ml-2 mr-1" :labels="task.labels" v-if="task.labels.length > 0" />
<user
:avatar-size="27"
:is-inline="true"
@ -96,11 +96,13 @@
</template>
<script lang="ts">
import {defineComponent} from 'vue'
import {defineComponent, type PropType} from 'vue'
import TaskModel, { type ITask } from '../../../models/task'
import PriorityLabel from './priorityLabel.vue'
import TaskService from '../../../services/task'
import Labels from '@/components/tasks/partials/labels.vue'
import User from '@/components/misc/user.vue'
import BaseButton from '@/components/base/BaseButton.vue'
import Fancycheckbox from '../../input/fancycheckbox.vue'
import DeferTask from './defer-task.vue'

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
}

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Dnů",
"weeks": "Týdny",
"months": "Měsíce",
"years": "Roky"
"years": "Roky",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Můžeš použít Kouzelné rychlé přidání",

View File

@ -780,7 +780,8 @@
"days": "Tage",
"weeks": "Wochen",
"months": "Monate",
"years": "Jahre"
"years": "Jahre",
"invalidAmount": "Bitte mehr als 0 eingeben."
},
"quickAddMagic": {
"hint": "Du kannst Quick Add Magic verwenden",

View File

@ -780,7 +780,8 @@
"days": "Tääg",
"weeks": "Wuchä",
"months": "Monet",
"years": "Jahr"
"years": "Jahr",
"invalidAmount": "Bitte mehr als 0 eingeben."
},
"quickAddMagic": {
"hint": "Du chasch Quick Add Magic verwendä",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Jours",
"weeks": "Semaines",
"months": "Mois",
"years": "Années"
"years": "Années",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Tu peux utiliser Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Giorni",
"weeks": "Settimane",
"months": "Mesi",
"years": "Anni"
"years": "Anni",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Puoi usare l'Aggiunta Rapida Magica",

View File

@ -780,7 +780,8 @@
"days": "Dagen",
"weeks": "Weken",
"months": "Maanden",
"years": "Jaren"
"years": "Jaren",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Dni",
"weeks": "Tygodnie",
"months": "Miesiące",
"years": "Lata"
"years": "Lata",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Możesz użyć Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Dias",
"weeks": "Semanas",
"months": "Meses",
"years": "Anos"
"years": "Anos",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Podes utilizar a Introdução Mágica Rápida",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Дней",
"weeks": "Недель",
"months": "Месяцев",
"years": "Лет"
"years": "Лет",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Вы можете использовать Волшебное Быстрое Добавление",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
"years": "Years",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "You can use Quick Add Magic",

View File

@ -780,7 +780,8 @@
"days": "Ngày",
"weeks": "Tuần",
"months": "Tháng",
"years": "Năm"
"years": "Năm",
"invalidAmount": "Please enter more than 0."
},
"quickAddMagic": {
"hint": "Bạn có thể sử dụng Quick Add Magic",

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

File diff suppressed because it is too large Load Diff

View File

@ -314,6 +314,42 @@ describe('Parse Task Text', () => {
expect(result.text).toBe('Lorem Ipsum github')
expect(result.date).toBeNull()
})
describe('Should not recognize weekdays in words', () => {
const cases = [
'renewed',
'github',
'fix monitor stand',
'order wedding cake',
'investigate thumping noise',
'iron frilly napkins',
'take photo of saturn',
'fix sunglasses',
'monitor blood pressure',
'Monitor blood pressure',
'buy almonds',
]
cases.forEach(c => {
it(`should not recognize text with ${c} at the beginning as weekday`, () => {
const result = parseTaskText(`${c} dolor sit amet`)
expect(result.text).toBe(`${c} dolor sit amet`)
expect(result.date).toBeNull()
})
it(`should not recognize text with ${c} at the end as weekday`, () => {
const result = parseTaskText(`Lorem Ipsum ${c}`)
expect(result.text).toBe(`Lorem Ipsum ${c}`)
expect(result.date).toBeNull()
})
it(`should not recognize text with ${c} as weekday`, () => {
const result = parseTaskText(`Lorem Ipsum ${c} dolor`)
expect(result.text).toBe(`Lorem Ipsum ${c} dolor`)
expect(result.date).toBeNull()
})
})
})
it('should not recognize date number with no spacing around them', () => {
const result = parseTaskText('Lorem Ispum v1.1.1')

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,7 +287,7 @@
// 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);

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

@ -289,19 +289,9 @@ export default defineComponent({
this.$store.commit(HAS_TASKS, true)
},
editTask(id: ITask['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: ITask['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: ITask) {
for (const t in this.tasks) {
if (this.tasks[t].id === updatedTask.id) {

1159
yarn.lock

File diff suppressed because it is too large Load Diff