import { insertPreludes } from "../facets/prelude.js"; //////////////////////////////////////////// // DEMO //////////////////////////////////////////// async function addSampleContent() { const addDemoBtn = document.querySelector("#add-sample-content"); if (!addDemoBtn) return; addDemoBtn.setAttribute("disabled", ""); addDemoBtn.innerHTML = ` Loading dependencies `; const { default: foundation } = await import("~/common/foundation.js"); const Output = await import("~/common/output.js"); const input = await foundation.configurator.input(); const output = await foundation.orchestrator.output(); const pto = await foundation.orchestrator.processTracks({ disableWhenReady: true, }); // Execute prelude await insertPreludes( await Output.data(output.facets), ); /** @type {import("~/components/input/s3/element.js").CLASS | null} */ const s3 = input.querySelector("di-s3"); if (!s3) { throw new Error("S3 input not found"); } addDemoBtn.innerHTML = ` Adding source `; const demo = await s3.demo(); await output.tracks.save([ ...(await Output.data(output.tracks)), demo.track, ]); addDemoBtn.innerHTML = ` Processing source `; await pto.process(); addDemoBtn.innerHTML = ` Added `; } export function setupSampleButton() { const addDemoBtn = document.querySelector("#add-sample-content"); addDemoBtn?.addEventListener("click", addSampleContent); }