fix: now correctly showing the title of predefined ranges
This commit is contained in:
parent
4d23fae9ad
commit
6c55411f71
3 changed files with 28 additions and 19 deletions
10
src/components/date/dateRanges.ts
Normal file
10
src/components/date/dateRanges.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
// TODO: more ranges!
|
||||
export const dateRanges = {
|
||||
'task.show.today': ['now/d', 'now/d+1d'],
|
||||
'task.show.thisWeek': ['now/w', 'now/w+1w'],
|
||||
'task.show.nextWeek': ['now/w+1w', 'now/w+2w'],
|
||||
'task.show.next7Days': ['now', 'now+7d'],
|
||||
'task.show.thisMonth': ['now/M', 'now/M+1M'],
|
||||
'task.show.nextMonth': ['now/M+1M', 'now/M+2M'],
|
||||
'task.show.next30Days': ['now', 'now+30d'],
|
||||
}
|
|
@ -59,11 +59,12 @@
|
|||
<script lang="ts" setup>
|
||||
import flatPickr from 'vue-flatpickr-component'
|
||||
import 'flatpickr/dist/flatpickr.css'
|
||||
import {computed, Ref, ref, watch} from 'vue'
|
||||
import {computed, ref, watch} from 'vue'
|
||||
import {useI18n} from 'vue-i18n'
|
||||
import {store} from '@/store'
|
||||
import {format} from 'date-fns'
|
||||
import Popup from '@/components/misc/popup'
|
||||
import Popup from '@/components/misc/popup.vue'
|
||||
|
||||
import {dateRanges} from '@/components/date/dateRanges'
|
||||
|
||||
const {t} = useI18n()
|
||||
|
||||
|
@ -135,16 +136,6 @@ function setDateRange(range: string[] | null) {
|
|||
inputChanged()
|
||||
}
|
||||
|
||||
const dateRanges = {
|
||||
'task.show.today': ['now/d', 'now/d+1d'],
|
||||
'task.show.thisWeek': ['now/w', 'now/w+1w'],
|
||||
'task.show.nextWeek': ['now/w+1w', 'now/w+2w'],
|
||||
'task.show.next7Days': ['now', 'now+7d'],
|
||||
'task.show.thisMonth': ['now/M', 'now/M+1M'],
|
||||
'task.show.nextMonth': ['now/M+1M', 'now/M+2M'],
|
||||
'task.show.next30Days': ['now', 'now+30d'],
|
||||
}
|
||||
|
||||
const customRangeActive = computed<Boolean>(() => {
|
||||
return !Object.values(dateRanges).some(el => from.value === el[0] && to.value === el[1])
|
||||
})
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {dateRanges} from '@/components/date/dateRanges'
|
||||
import SingleTaskInList from '@/components/tasks/partials/singleTaskInList'
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
|
@ -106,12 +107,19 @@ export default {
|
|||
return this.$route.query.showOverdue === 'true'
|
||||
},
|
||||
pageTitle() {
|
||||
const title = this.showAll
|
||||
let title = ''
|
||||
|
||||
const predefinedRange = Object.entries(dateRanges).find(([key, value]) => this.dateFrom === value[0] && this.dateTo === value[1])
|
||||
if (typeof predefinedRange !== 'undefined') {
|
||||
title = this.$t(predefinedRange[0])
|
||||
} else {
|
||||
title = this.showAll
|
||||
? this.$t('task.show.titleCurrent')
|
||||
: this.$t('task.show.fromuntil', {
|
||||
from: this.format(this.dateFrom, 'PPP'),
|
||||
until: this.format(this.dateTo, 'PPP'),
|
||||
})
|
||||
}
|
||||
|
||||
this.setTitle(title)
|
||||
|
||||
|
|
Loading…
Reference in a new issue