import { html, hydrate, text } from 'wirejs-dom/v2';
import { Main } from '../layouts/main.js';
import { worker } from 'web-worker';
async function App() {
return html`
Web Worker Demo
${text('status', '...')}
Web Worker output: ${text('output', '...')}
`.onadd(async self => {
console.log('starting web worker');
self.data.output = (await worker.count(256_000_000, {
tick: pct => self.data.status = `${Math.floor(pct * 100)} % complete.`
})).toString();
});
}
export async function generate() {
return Main({
pageTitle: 'Welcome!',
content: await App()
})
}
export function onload() {
hydrate('app', App as any);
}