mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-24 12:49:19 +00:00
65 lines
1.5 KiB
TypeScript
65 lines
1.5 KiB
TypeScript
import {
|
|
css,
|
|
CSSResult,
|
|
customElement,
|
|
html,
|
|
LitElement,
|
|
property,
|
|
TemplateResult,
|
|
} from "lit-element";
|
|
import {
|
|
Supervisor,
|
|
supervisorCollection,
|
|
} from "../../src/data/supervisor/supervisor";
|
|
import { HomeAssistant, Route } from "../../src/types";
|
|
import "./hassio-panel-router";
|
|
|
|
@customElement("hassio-panel")
|
|
class HassioPanel extends LitElement {
|
|
@property({ attribute: false }) public hass!: HomeAssistant;
|
|
|
|
@property({ attribute: false }) public supervisor!: Supervisor;
|
|
|
|
@property({ type: Boolean }) public narrow!: boolean;
|
|
|
|
@property({ attribute: false }) public route!: Route;
|
|
|
|
protected render(): TemplateResult {
|
|
if (!this.hass) {
|
|
return html`<hass-loading-screen></hass-loading-screen>`;
|
|
}
|
|
|
|
if (
|
|
Object.keys(supervisorCollection).some(
|
|
(colllection) => !this.supervisor[colllection]
|
|
)
|
|
) {
|
|
return html`<hass-loading-screen></hass-loading-screen>`;
|
|
}
|
|
return html`
|
|
<hassio-panel-router
|
|
.hass=${this.hass}
|
|
.supervisor=${this.supervisor}
|
|
.route=${this.route}
|
|
.narrow=${this.narrow}
|
|
></hassio-panel-router>
|
|
`;
|
|
}
|
|
|
|
static get styles(): CSSResult {
|
|
return 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);
|
|
}
|
|
`;
|
|
}
|
|
}
|
|
|
|
declare global {
|
|
interface HTMLElementTagNameMap {
|
|
"hassio-panel": HassioPanel;
|
|
}
|
|
}
|