90 lines
2.1 KiB
TypeScript
90 lines
2.1 KiB
TypeScript
import "./browser-player";
|
|
|
|
// import { BrowserModConnection } from "./connection";
|
|
import { ConnectionMixin } from "./connection";
|
|
import { ScreenSaverMixin } from "./screensaver";
|
|
import { MediaPlayerMixin } from "./mediaPlayer";
|
|
import { CameraMixin } from "./camera";
|
|
import { RequireInteractMixin } from "./require-interact";
|
|
import { FullyMixin } from "./fullyKiosk";
|
|
import { BrowserStateMixin } from "./browser";
|
|
import { ServicesMixin } from "./services";
|
|
import { ActivityMixin } from "./activity";
|
|
import "./popups";
|
|
import { PopupMixin } from "./popups";
|
|
import pjson from "../../package.json";
|
|
|
|
/*
|
|
TODO:
|
|
- Fix nomenclature
|
|
x Command -> Service
|
|
x Device -> Browser
|
|
- Popups
|
|
X Basic popups
|
|
- Card-mod integration
|
|
X Timeout
|
|
X Fullscreen
|
|
x Motion/occupancy tracker
|
|
x Information about interaction requirement
|
|
x Information about fullykiosk
|
|
- Commands
|
|
x Rename browser_mod commands to browser_mod services
|
|
x Framework
|
|
x ll-custom handling
|
|
- Commands
|
|
x popup
|
|
x close_popup
|
|
- more-info
|
|
x navigate
|
|
- lovelace-reload?
|
|
x window-reload
|
|
- screensaver
|
|
x sequence
|
|
x delay
|
|
x javascript eval
|
|
- toast?
|
|
x Redesign services to target devices
|
|
- frontend editor for popup cards
|
|
- also screensavers
|
|
- Tweaks
|
|
- Save sidebar
|
|
- Save sidebar per user
|
|
- Kiosk mode
|
|
- Kiosk mode per user
|
|
- Favicon templates
|
|
- Title templates
|
|
- Quickbar tweaks (ctrl+enter)?
|
|
- Video player?
|
|
- Media_seek
|
|
- Screensavers
|
|
*/
|
|
export class BrowserMod extends ServicesMixin(
|
|
PopupMixin(
|
|
ActivityMixin(
|
|
BrowserStateMixin(
|
|
CameraMixin(
|
|
MediaPlayerMixin(
|
|
ScreenSaverMixin(
|
|
FullyMixin(RequireInteractMixin(ConnectionMixin(EventTarget)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
) {
|
|
constructor() {
|
|
super();
|
|
this.connect();
|
|
|
|
console.info(
|
|
`%cBROWSER_MOD ${pjson.version} IS INSTALLED
|
|
%cBrowserID: ${this.browserID}`,
|
|
"color: green; font-weight: bold",
|
|
""
|
|
);
|
|
}
|
|
}
|
|
|
|
if (!window.browser_mod) window.browser_mod = new BrowserMod();
|