37 lines
737 B
JavaScript
37 lines
737 B
JavaScript
import { writable } from 'svelte/store';
|
|
|
|
import { getRoutines } from '../lib/routine'
|
|
|
|
function createRoutinesStore() {
|
|
const { subscribe, set, update } = writable({list: null});
|
|
|
|
return {
|
|
subscribe,
|
|
|
|
set: (v) => {
|
|
update((m) => Object.assign(m, v));
|
|
},
|
|
|
|
refresh: async () => {
|
|
const list = await getRoutines();
|
|
update((m) => Object.assign(m, {list}));
|
|
return list;
|
|
},
|
|
|
|
update: (res_routines, cb=null) => {
|
|
if (res_routines.status === 200) {
|
|
res_routines.json().then((list) => {
|
|
update((m) => (Object.assign(m, {list})));
|
|
|
|
if (cb) {
|
|
cb(list);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
};
|
|
|
|
}
|
|
|
|
export const routines = createRoutinesStore();
|