From eed72551736586353bfb7e0cddfc29718c76d3fd Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 9 Apr 2023 10:33:05 +0200 Subject: [PATCH] persist task store --- src/main.ts | 6 +++--- src/use-cases/task/stores/useTask.store.ts | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main.ts b/src/main.ts index 4fb24b7..20670e7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,6 @@ -import { createApp } from 'vue' import { createPinia } from 'pinia' - +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' +import { createApp } from 'vue' import App from './App.vue' import router from './router' @@ -8,7 +8,7 @@ import './assets/main.css' const app = createApp(App) -app.use(createPinia()) +app.use(createPinia().use(piniaPluginPersistedstate)) app.use(router) app.mount('#app') diff --git a/src/use-cases/task/stores/useTask.store.ts b/src/use-cases/task/stores/useTask.store.ts index eb79cc1..793f556 100644 --- a/src/use-cases/task/stores/useTask.store.ts +++ b/src/use-cases/task/stores/useTask.store.ts @@ -1,8 +1,12 @@ import { defineStore } from 'pinia' import type { Taskable } from '../interfaces/taskable' +interface StoredTaskable extends Omit { + date: string +} + export interface TaskStoreState { - tasks: Taskable[] + tasks: StoredTaskable[] } export const useTaskStore = defineStore('task-store', { @@ -11,7 +15,15 @@ export const useTaskStore = defineStore('task-store', { }), actions: { saveTask(task: Taskable) { - this.tasks.push(task) + this.tasks.push({ + ...task, + totalEstimation: task.totalEstimation, + date: task.date.toISOString() + }) + }, + reset() { + this.tasks = [] } - } + }, + persist: true })