Spaces:
Sleeping
Sleeping
File size: 552 Bytes
cb5990d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import { writable } from "svelte/store";
// Map of conversation ID -> boolean (true = visible)
const initialVisibility: Record<string, boolean> = {};
function createTreeVisibilityStore() {
const { subscribe, update, set } = writable<Record<string, boolean>>(initialVisibility);
return {
subscribe,
toggle: (id: string) => update((n) => ({ ...n, [id]: !n[id] })),
setVisible: (id: string, visible: boolean) => update((n) => ({ ...n, [id]: visible })),
reset: () => set({}),
};
}
export const treeVisibility = createTreeVisibilityStore();
|