A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4 53 lines 1.2 kB view raw
1import { defineElement, DiffuseElement } from "~/common/element.js"; 2 3/** 4 * @import {ProxiedActions} from "~/common/worker.d.ts" 5 * @import {ArtworkElement} from "~/components/artwork/types.d.ts" 6 * @import {Actions} from "./types.d.ts" 7 */ 8 9//////////////////////////////////////////// 10// ELEMENT 11//////////////////////////////////////////// 12 13/** 14 * @implements {ProxiedActions<Actions>} 15 */ 16class ArtworkConfigurator extends DiffuseElement { 17 static NAME = "diffuse/configurator/artwork"; 18 static WORKER_URL = "components/configurator/artwork/worker.js"; 19 20 constructor() { 21 super(); 22 23 /** @type {ProxiedActions<Actions>} */ 24 const proxy = this.workerProxy(); 25 26 this.get = proxy.get; 27 } 28 29 // WORKERS 30 31 /** 32 * @override 33 */ 34 dependencies() { 35 return Object.fromEntries( 36 Array.from(this.children).map((element) => { 37 const artwork = /** @type {ArtworkElement} */ (element); 38 return [artwork.localName, artwork]; 39 }), 40 ); 41 } 42} 43 44export default ArtworkConfigurator; 45 46//////////////////////////////////////////// 47// REGISTER 48//////////////////////////////////////////// 49 50export const CLASS = ArtworkConfigurator; 51export const NAME = "dc-artwork"; 52 53defineElement(NAME, ArtworkConfigurator);