feat: ShowTasks

This commit is contained in:
Dominik Pschenitschni 2024-11-07 19:36:00 +01:00
parent ee46d83bd1
commit 8623273649
5 changed files with 29 additions and 12 deletions

View File

@ -58,7 +58,7 @@
import {ref, computed} from 'vue'
import Message from '@/components/misc/Message.vue'
import ShowTasks from '@/views/tasks/ShowTasks.vue'
import ShowTasks from '@/components/tasks/ShowTasks.vue'
import ProjectCardGrid from '@/components/project/partials/ProjectCardGrid.vue'
import AddTask from '@/components/tasks/AddTask.vue'

View File

@ -0,0 +1,27 @@
<template>
<ShowTasks v-bind="props" />
</template>
<script setup lang="ts">
import {parseDateOrString} from '@/helpers/time/parseDateOrString'
import {getNextWeekDate} from '@/helpers/time/getNextWeekDate'
import ShowTasks from '@/components/tasks/ShowTasks.vue';
definePage({
name: 'tasks.range',
props: route => ({
dateFrom: parseDateOrString(route.query.from as string, new Date()),
dateTo: parseDateOrString(route.query.to as string, getNextWeekDate()),
showNulls: route.query.showNulls === 'true',
showOverdue: route.query.showOverdue === 'true',
})
})
const props = defineProps<{
dateFrom?: Date | string,
dateTo?: Date | string,
showNulls?: boolean,
showOverdue?: boolean,
}>()
</script>

View File

@ -29,17 +29,6 @@ const router = createRouter({
},
routes: [
...routes,
{
path: '/tasks/by/upcoming',
name: 'tasks.range',
component: () => import('@/views/tasks/ShowTasks.vue'),
props: route => ({
dateFrom: parseDateOrString(route.query.from as string, new Date()),
dateTo: parseDateOrString(route.query.to as string, getNextWeekDate()),
showNulls: route.query.showNulls === 'true',
showOverdue: route.query.showOverdue === 'true',
}),
},
{
// Redirect old list routes to the respective project routes
// see: https://router.vuejs.org/guide/essentials/dynamic-matching.html#catch-all-404-not-found-route

View File

@ -46,6 +46,7 @@ declare module 'vue-router/auto-routes' {
'/projects/(projects)': RouteRecordInfo<'/projects/(projects)', '/projects/(projects)', Record<never, never>, Record<never, never>>,
'/share/[share]/auth': RouteRecordInfo<'/share/[share]/auth', '/share/:share/auth', { share: ParamValue<true> }, { share: ParamValue<false> }>,
'/task/[id]': RouteRecordInfo<'/task/[id]', '/task/:id', { id: ParamValue<true> }, { id: ParamValue<false> }>,
'tasks.range': RouteRecordInfo<'tasks.range', '/tasks/by/upcoming', Record<never, never>, Record<never, never>>,
'/teams/[id]/edit': RouteRecordInfo<'/teams/[id]/edit', '/teams/:id/edit', { id: ParamValue<true> }, { id: ParamValue<false> }>,
'/teams/(teams)': RouteRecordInfo<'/teams/(teams)', '/teams/(teams)', Record<never, never>, Record<never, never>>,
'/teams/new': RouteRecordInfo<'/teams/new', '/teams/new', Record<never, never>, Record<never, never>>,