73 lines
2.1 KiB
TypeScript
73 lines
2.1 KiB
TypeScript
import { LitElement, html, css } from "lit";
|
|
import { property } from "lit/decorators.js";
|
|
import { loadConfigDashboard } from "../helpers";
|
|
|
|
import "./browser-settings-card";
|
|
import "./registered-browsers-card";
|
|
import "./frontend-settings-card";
|
|
|
|
const bmWindow = window as any;
|
|
|
|
loadConfigDashboard().then(() => {
|
|
class BrowserModPanel extends LitElement {
|
|
@property() hass;
|
|
@property() narrow;
|
|
@property() connection;
|
|
|
|
firstUpdated() {
|
|
window.browser_mod.addEventListener("browser-mod-config-update", () =>
|
|
this.requestUpdate()
|
|
);
|
|
}
|
|
|
|
render() {
|
|
return html`
|
|
<ha-app-layout>
|
|
<app-header slot="header" fixed>
|
|
<app-toolbar>
|
|
<ha-menu-button
|
|
.hass=${this.hass}
|
|
.narrow=${this.narrow}
|
|
></ha-menu-button>
|
|
<div main-title>Browser Mod Settings</div>
|
|
</app-toolbar>
|
|
</app-header>
|
|
|
|
<ha-config-section .narrow=${this.narrow} full-width>
|
|
<browser-mod-browser-settings-card
|
|
.hass=${this.hass}
|
|
></browser-mod-browser-settings-card>
|
|
|
|
<browser-mod-registered-browsers-card
|
|
.hass=${this.hass}
|
|
></browser-mod-registered-browsers-card>
|
|
|
|
<browser-mod-frontend-settings-card
|
|
.hass=${this.hass}
|
|
></browser-mod-frontend-settings-card>
|
|
</ha-config-section>
|
|
</ha-app-layout>
|
|
`;
|
|
}
|
|
|
|
static get styles() {
|
|
return [
|
|
...((customElements.get("ha-config-dashboard") as any)?.styles ?? []),
|
|
css`
|
|
:host {
|
|
--app-header-background-color: var(--sidebar-background-color);
|
|
--app-header-text-color: var(--sidebar-text-color);
|
|
--app-header-border-bottom: 1px solid var(--divider-color);
|
|
--ha-card-border-radius: var(--ha-config-card-border-radius, 8px);
|
|
}
|
|
ha-config-section {
|
|
padding: 16px 0;
|
|
}
|
|
`,
|
|
];
|
|
}
|
|
}
|
|
|
|
customElements.define("browser-mod-panel", BrowserModPanel);
|
|
});
|