From b4a53d0fde3fa50453854a6e3060b302152f786f Mon Sep 17 00:00:00 2001 From: jj Date: Sun, 1 Jun 2025 10:11:40 +0000 Subject: [PATCH] web/state/task-manager: use writable-readonly store instead of readable --- .../lib/state/task-manager/current-tasks.ts | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/web/src/lib/state/task-manager/current-tasks.ts b/web/src/lib/state/task-manager/current-tasks.ts index 9d720bf2..aadd931e 100644 --- a/web/src/lib/state/task-manager/current-tasks.ts +++ b/web/src/lib/state/task-manager/current-tasks.ts @@ -1,38 +1,32 @@ -import { readable, type Updater } from "svelte/store"; +import { readonly, writable } from "svelte/store"; import type { CobaltWorkerProgress } from "$lib/types/workers"; import type { CobaltCurrentTasks, CobaltCurrentTaskItem } from "$lib/types/task-manager"; -let update: (_: Updater) => void; - -export const currentTasks = readable( - {}, - (_, _update) => { update = _update } -); +const currentTasks_ = writable({}); +export const currentTasks = readonly(currentTasks_); export function addWorkerToQueue(workerId: string, item: CobaltCurrentTaskItem) { - update(tasks => { + currentTasks_.update(tasks => { tasks[workerId] = item; return tasks; }); } export function removeWorkerFromQueue(id: string) { - update(tasks => { + currentTasks_.update(tasks => { delete tasks[id]; return tasks; }); } export function updateWorkerProgress(workerId: string, progress: CobaltWorkerProgress) { - update(allTasks => { + currentTasks_.update(allTasks => { allTasks[workerId].progress = progress; return allTasks; }); } export function clearCurrentTasks() { - update(() => { - return {}; - }); + currentTasks_.set({}); }