diff --git a/web/panels.ts b/web/panels.ts new file mode 100644 --- /dev/null +++ b/web/panels.ts @@ -0,0 +1,29 @@ +export { Light9AscoltamiUi } from "./ascoltami/Light9AscoltamiUi"; +export { Light9CollectorUi } from "./collector/Light9CollectorUi"; +export { Light9EffectListing } from "./effects/Light9EffectListing"; +export { Light9FadeUi } from "./fade/Light9FadeUi"; +export { Light9DeviceSettings } from "./live/Light9DeviceSettings"; + +const panels: Map> = new Map([ + ["light9-ascoltami-ui", ["ascoltami", "ascoltami"]], + ["light9-collector-ui", ["collector", "collector"]], + ["light9-device-settings", ["device-settings", "live"]], + ["light9-effect-listing", ["effect-listing" , "effectListing"]], + ["light9-fade-ui", ["fade", "fade"]], +]); + +export function panelElementNames(): string[] { + return Array.from(panels.keys()); +} + +export function panelUrl(elem: string): string { + const row = panels.get(elem); + if (!row) throw new Error("No panel: " + elem); + return "/" + row[1] + "/"; + } + +export function panelDisplayName(elem: string): string { + const row = panels.get(elem); + if (!row) throw new Error("No panel: " + elem); + return row[0]; +} \ No newline at end of file