From 46b147473d990f0e71d24b8839728a6b197e2755 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Mon, 10 Apr 2023 12:24:40 +0200 Subject: [PATCH] implement ISO date for tasks --- src/modules/task/interfaces/taskable.ts | 3 ++- src/modules/task/models/task.ts | 3 ++- src/modules/task/stores/useTask.store.ts | 15 +++------------ 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/modules/task/interfaces/taskable.ts b/src/modules/task/interfaces/taskable.ts index 10a4c64..0c88e4c 100644 --- a/src/modules/task/interfaces/taskable.ts +++ b/src/modules/task/interfaces/taskable.ts @@ -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[] } diff --git a/src/modules/task/models/task.ts b/src/modules/task/models/task.ts index 75d2adc..71168f5 100644 --- a/src/modules/task/models/task.ts +++ b/src/modules/task/models/task.ts @@ -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 diff --git a/src/modules/task/stores/useTask.store.ts b/src/modules/task/stores/useTask.store.ts index 1147880..7b32e69 100644 --- a/src/modules/task/stores/useTask.store.ts +++ b/src/modules/task/stores/useTask.store.ts @@ -2,12 +2,8 @@ import { defineStore } from 'pinia' import type { Taskable } from '../interfaces/taskable' import { Task } from '../models/task' -interface StoredTaskable extends Omit { - 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() {