transporter-app/store/taskStore.js

34 lines
696 B
JavaScript

import {proxy} from "valtio";
import API from "../services/api"
import Database from '../db'
const state = proxy({
tasks: [],
newTaskBadge: 0
})
const getTasksFromDB = () => {
state.tasks.length = 0
state.tasks.push(
...Database.getAllKeys()
.filter(key => key.startsWith('task.'))
.map(key => JSON.parse(Database.getString(key)))
)
}
export const getTasks = async () => {
API.getTasks()
.then(() => getTasksFromDB())
.catch(() => {
console.log("No internet connection")
getTasksFromDB()
})
}
export const increaseNewTaskBadge = () => {
state.newTaskBadge++
}
export default state;