34 lines
696 B
JavaScript
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;
|