import { LitElement, html, css } from "lit"; import { property } from "lit/decorators.js"; import { loadDevTools } from "../helpers"; import { loadHaForm } from "../helpers"; import "./settings-card"; const bmWindow = window as any; loadDevTools().then(() => { class BrowserModPanel extends LitElement { @property() hass; @property() narrow; @property() connection; @property() dirty = false; toggleRegister() { if (!window.browser_mod?.connected) return; window.browser_mod.registered = !window.browser_mod.registered; this.dirty = true; } changeBrowserID(ev) { window.browser_mod.browserID = ev.target.value; this.dirty = true; } toggleCameraEnabled() { window.browser_mod.cameraEnabled = !window.browser_mod.cameraEnabled; this.dirty = true; } unregister_browser(ev) { const browserID = ev.currentTarget.browserID; const unregisterCallback = () => { console.log(browserID, window.browser_mod.browserID); if (browserID === window.browser_mod.browserID) { console.log("Unregister self"); window.browser_mod.registered = false; } else { window.browser_mod.connection.sendMessage({ type: "browser_mod/unregister", browserID, }); } }; window.browser_mod.showPopup( "Unregister browser", `Are you sure you want to unregister browser ${browserID}?`, { right_button: "Yes", right_button_action: unregisterCallback, left_button: "No", } ); } firstUpdated() { window.browser_mod.addEventListener("browser-mod-config-update", () => this.requestUpdate() ); } getFullySettings() { if (!window.browser_mod.fully) return null; const retval = []; const wcs = []; // Web Content Settings // Autoplay Videos if (window.fully.getBooleanSetting("autoplayVideos") !== "true") wcs.push(html`
Settings that apply to this browser.
${this.dirty ? html`media_player
and
camera
components of Browser Mod.