UNPKG

@e280/quay

Version:

File-browser and outliner UI for the web

30 lines 1.39 kB
import { register } from "@benev/slate"; import { brain } from "../dom/context.js"; import { MediaGroup } from "../logic/presets/media/group.js"; import { components, setShoelaceDarkTheme } from "../dom/components.js"; const group = brain.setGroup("default", new MediaGroup()); const { codex, root } = group.config; const previewUrl = "/assets/preview.webp"; const introVid = codex.create("file", { format: "video", label: "01‑introduction.mp4", previewUrl }); const coverImg = codex.create("file", { format: "image", label: "cover.png", previewUrl }); const audioFx = codex.create("file", { format: "audio", label: "click.wav", previewUrl: null }); // sub folder const sprites = codex.create("folder", { label: "sprites" }); const heroPng = codex.create("file", { format: "image", label: "hero.png", previewUrl }); const enemyPng = codex.create("file", { format: "image", label: "enemy.png", previewUrl }); codex.root(root) .attach(introVid) .attach(coverImg) .attach(audioFx) .attach(sprites); sprites.attach(heroPng).attach(enemyPng); group.on.upload.sub(({ files, target }) => { for (const file of files) { const format = file.type.split("/")[0]; const item = codex.create("file", { label: file.name, format, previewUrl }); target.attach(item); } }); setShoelaceDarkTheme(); register(components); //# sourceMappingURL=main.bundle.js.map