28 lines
709 B
JavaScript
28 lines
709 B
JavaScript
|
import {proxy} from "valtio";
|
||
|
import Database from '../db'
|
||
|
import Api from "../services/api";
|
||
|
const store = proxy({
|
||
|
notifications: [],
|
||
|
newNotificationBadge: 0
|
||
|
})
|
||
|
|
||
|
const getNotificationsFromDB = () => {
|
||
|
store.notifications.length = 0
|
||
|
store.notifications.push(
|
||
|
...Database.getAllKeys()
|
||
|
.filter(key => key.startsWith('notification.'))
|
||
|
.map(key => JSON.parse(Database.getString(key)))
|
||
|
)
|
||
|
}
|
||
|
|
||
|
export const getNotifications = () => {
|
||
|
Api.getNotifications()
|
||
|
.then(() => getNotificationsFromDB())
|
||
|
.catch(() => getNotificationsFromDB())
|
||
|
}
|
||
|
|
||
|
export const increaseNewNotificationBadge = () => {
|
||
|
store.newNotificationBadge++
|
||
|
}
|
||
|
|
||
|
export default store
|