forked from
tokono.ma/diffuse
A music player that connects to your cloud/distributed storage.
1/**
2 * @import {Facet} from "~/definitions/types.d.ts"
3 */
4
5import { loadURI } from "../loader.js";
6
7/**
8 * @param {Facet[]} facets
9 * @param {HTMLElement} [container]
10 */
11export async function insertPreludes(facets, container) {
12 container ??= document.body;
13
14 const range = document.createRange();
15 range.selectNode(container);
16
17 const preludes = facets
18 .filter((f) => f.kind === "prelude" && f.enabled !== false)
19 .sort((a, b) => a.name.localeCompare(b.name));
20
21 for (const prelude of preludes) {
22 const html = prelude.html ??
23 (prelude.uri ? await loadURI(prelude.uri) : "");
24 if (!html) continue;
25 const preludeFragment = range.createContextualFragment(html);
26 container.append(preludeFragment);
27 }
28}