import Store from '.'; import { ListItem, Settings, TodoListItem } from '../mock'; export const setMenuOpen = (open: boolean) => { Store.update(s => { s.menuOpen = open; }); }; export const setNotificationsOpen = (open: boolean) => { Store.update(s => { s.notificationsOpen = open; }); }; export const setSettings = (settings: Settings) => { Store.update(s => { s.settings = settings; }); }; // App-specific actions export const setDone = ( list: TodoListItem, listItem: ListItem, done: boolean, ) => { Store.update((s, o) => { const listIndex = o.lists.findIndex(l => l === list); if (listIndex === -1) return; const items = o.lists[listIndex].items; const itemIndex = items?.findIndex(i => i === listItem); if (itemIndex === undefined || itemIndex < 0) return; const draftItem = s.lists[listIndex].items?.[itemIndex]; if (!draftItem) return; draftItem.done = done; if (list === o.selectedList) { s.selectedList = s.lists[listIndex]; } }); };