implement ISO date for tasks

This commit is contained in:
Julien Calixte
2023-04-10 12:24:40 +02:00
parent 3a44fe00c5
commit 46b147473d
3 changed files with 7 additions and 14 deletions

View File

@@ -1,9 +1,10 @@
import type { Stepable } from '@/modules/task/interfaces/stepable'
import type { ISODate } from '@/shared/types/date'
export interface Taskable {
id: string
title: string
date: Date
date: ISODate
link: string | null
steps: Stepable[]
}

View File

@@ -1,9 +1,10 @@
import type { Stepable } from '@/modules/task/interfaces/stepable'
import type { Taskable } from '@/modules/task/interfaces/taskable'
import { Step } from '@/modules/task/models/step'
import { toISODate } from '@/shared/types/date'
export class Task implements Taskable {
public date = new Date()
public date = toISODate(new Date())
public steps: Step[] = []
public link: string | null = null

View File

@@ -2,12 +2,8 @@ import { defineStore } from 'pinia'
import type { Taskable } from '../interfaces/taskable'
import { Task } from '../models/task'
interface StoredTaskable extends Omit<Taskable, 'date'> {
date: string
}
export interface TaskStoreState {
tasks: StoredTaskable[]
tasks: Taskable[]
}
export const useTaskStore = defineStore('task-store', {
@@ -17,10 +13,7 @@ export const useTaskStore = defineStore('task-store', {
}),
actions: {
saveTask(task: Taskable) {
this.tasks.push({
...task,
date: task.date.toISOString()
})
this.tasks.push(task)
},
reset() {
this.tasks = []
@@ -29,9 +22,7 @@ export const useTaskStore = defineStore('task-store', {
getters: {
recentTasks(state) {
return state.tasks
.map((task) =>
Task.fromTaskable({ ...task, date: new Date(task.date) })
)
.map((task) => Task.fromTaskable(task))
.sort((a, b) => (a.date > b.date ? -1 : 1))
},
getTask() {