From a914ab1dae67d776a6b8395f0acedfd5b79fcd8e Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Sat, 31 May 2025 23:28:57 +0200 Subject: [PATCH] wip --- src/pages/index.astro | 6 +++--- src/pages/orchestrator/input-cache/_applet.astro | 6 ------ src/scripts/applets/common.ts | 6 ++++++ src/scripts/themes/pilot/index.ts | 6 +++++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 4e4fa5a..d247dd0 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -141,9 +141,9 @@ const processors = [ - These too are applet compositions. However, unlike themes, these are purely logical, and - reuse applet instances from the parent context (when available). Mostly exist in order to - construct sensible defaults to use across themes and abstractions. + These too are applet compositions. However, unlike themes, these are purely logical. + Mostly exist in order to construct sensible defaults to use across themes and + abstractions. diff --git a/src/pages/orchestrator/input-cache/_applet.astro b/src/pages/orchestrator/input-cache/_applet.astro index b4341b1..0b73e56 100644 --- a/src/pages/orchestrator/input-cache/_applet.astro +++ b/src/pages/orchestrator/input-cache/_applet.astro @@ -49,19 +49,13 @@ await waitUntilAppletIsReady(configurator.input); - console.log("Ready."); - const cachedTracks = orchestrator.output.data.tracks.collection; await configurator.input.sendAction("contextualize", cachedTracks); - console.log("Start list."); - const tracks = await configurator.input.sendAction("list", cachedTracks, { timeoutDuration: 60000 * 60 * 24, }); - console.log("Got tracks", tracks); - // Process const tracksWithMetadata = await tracks.reduce( async (promise: Promise, track: Track) => { diff --git a/src/scripts/applets/common.ts b/src/scripts/applets/common.ts index f689d88..c07b9ba 100644 --- a/src/scripts/applets/common.ts +++ b/src/scripts/applets/common.ts @@ -1,5 +1,6 @@ import type { Applet, AppletEvent } from "@web-applets/sdk"; +import QS from "query-string"; import { applets } from "@web-applets/sdk"; import { type ElementConfigurator, h } from "spellcaster/hyperscript.js"; import { effect, isSignal, Signal, signal } from "spellcaster/spellcaster.js"; @@ -12,6 +13,7 @@ export async function applet( src: string, opts: { addSlashSuffix?: boolean; + applets?: Record; container?: HTMLElement | Element; id?: string; setHeight?: boolean; @@ -25,6 +27,10 @@ export async function applet( : "" }`; + if (opts.applets) { + src = QS.stringifyUrl({ url: src, query: opts.applets }); + } + const existingFrame: HTMLIFrameElement | null = window.document.querySelector(`[src="${src}"]`); let frame; diff --git a/src/scripts/themes/pilot/index.ts b/src/scripts/themes/pilot/index.ts index 348a3da..34a4b87 100644 --- a/src/scripts/themes/pilot/index.ts +++ b/src/scripts/themes/pilot/index.ts @@ -13,13 +13,17 @@ import type * as QueueEngine from "@applets/engine/queue/types.d.ts"; import type * as AudioUI from "@applets/themes/pilot/ui/audio/types.d.ts"; +// TODO: Themes + const engine = { audio: await applet("../../engine/audio"), queue: await applet("../../engine/queue"), }; const _orchestrator = { - input: await applet("../../orchestrator/input-cache"), + input: await applet("../../orchestrator/input-cache", { + applets: { input: "todo" }, + }), output: await applet("../../orchestrator/output-management"), queue: await applet("../../orchestrator/single-queue"), }; -- 2.51.2