persist task store
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { createApp } from 'vue'
|
|
||||||
import { createPinia } from 'pinia'
|
import { createPinia } from 'pinia'
|
||||||
|
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
|
||||||
|
import { createApp } from 'vue'
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ import './assets/main.css'
|
|||||||
|
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
|
|
||||||
app.use(createPinia())
|
app.use(createPinia().use(piniaPluginPersistedstate))
|
||||||
app.use(router)
|
app.use(router)
|
||||||
|
|
||||||
app.mount('#app')
|
app.mount('#app')
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
import { defineStore } from 'pinia'
|
import { defineStore } from 'pinia'
|
||||||
import type { Taskable } from '../interfaces/taskable'
|
import type { Taskable } from '../interfaces/taskable'
|
||||||
|
|
||||||
|
interface StoredTaskable extends Omit<Taskable, 'date'> {
|
||||||
|
date: string
|
||||||
|
}
|
||||||
|
|
||||||
export interface TaskStoreState {
|
export interface TaskStoreState {
|
||||||
tasks: Taskable[]
|
tasks: StoredTaskable[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useTaskStore = defineStore('task-store', {
|
export const useTaskStore = defineStore('task-store', {
|
||||||
@@ -11,7 +15,15 @@ export const useTaskStore = defineStore('task-store', {
|
|||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
saveTask(task: Taskable) {
|
saveTask(task: Taskable) {
|
||||||
this.tasks.push(task)
|
this.tasks.push({
|
||||||
|
...task,
|
||||||
|
totalEstimation: task.totalEstimation,
|
||||||
|
date: task.date.toISOString()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
reset() {
|
||||||
|
this.tasks = []
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
persist: true
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user