refactor activity tab

This commit is contained in:
pa
2026-03-21 21:35:28 +09:00
parent 046730215e
commit e5ea66e5d5
16 changed files with 2154 additions and 1660 deletions

View File

@@ -0,0 +1,34 @@
import ActivityWorker from './activityWorker.js?worker&inline';
let worker = null;
let workerSeq = 0;
const pendingWorkerCallbacks = new Map();
function getWorker() {
if (!worker) {
worker = new ActivityWorker();
worker.onmessage = (event) => {
const { type, seq, payload } = event.data;
const callback = pendingWorkerCallbacks.get(seq);
if (!callback) {
return;
}
pendingWorkerCallbacks.delete(seq);
if (type === 'error') {
callback.reject(new Error(payload.message));
return;
}
callback.resolve(payload);
};
}
return worker;
}
export function runActivityWorkerTask(type, payload) {
return new Promise((resolve, reject) => {
const seq = ++workerSeq;
pendingWorkerCallbacks.set(seq, { resolve, reject });
getWorker().postMessage({ type, seq, payload });
});
}