Don't display browser-player if it can't work.
This commit is contained in:
parent
e2bdad02f4
commit
8703964438
File diff suppressed because one or more lines are too long
@ -7,11 +7,11 @@ class BrowserPlayerEditor extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(async () => {
|
// (async () => {
|
||||||
while (!window.browser_mod) {
|
// while (!window.browser_mod) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
// await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||||
}
|
// }
|
||||||
await window.browser_mod.connectionPromise;
|
// await window.browser_mod.connectionPromise;
|
||||||
|
|
||||||
if (!customElements.get("browser-player-editor")) {
|
if (!customElements.get("browser-player-editor")) {
|
||||||
customElements.define("browser-player-editor", BrowserPlayerEditor);
|
customElements.define("browser-player-editor", BrowserPlayerEditor);
|
||||||
@ -22,4 +22,4 @@ class BrowserPlayerEditor extends LitElement {
|
|||||||
preview: true,
|
preview: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})();
|
// })();
|
||||||
|
@ -7,6 +7,7 @@ import "./types";
|
|||||||
|
|
||||||
class BrowserPlayer extends LitElement {
|
class BrowserPlayer extends LitElement {
|
||||||
@property() hass;
|
@property() hass;
|
||||||
|
@property({ attribute: "edit-mode", reflect: true }) editMode;
|
||||||
|
|
||||||
static getConfigElement() {
|
static getConfigElement() {
|
||||||
return document.createElement("browser-player-editor");
|
return document.createElement("browser-player-editor");
|
||||||
@ -15,6 +16,17 @@ class BrowserPlayer extends LitElement {
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async connectedCallback() {
|
||||||
|
super.connectedCallback();
|
||||||
|
if (!window.browser_mod?.registered) {
|
||||||
|
if (this.parentElement.localName === "hui-card-preview") {
|
||||||
|
this.removeAttribute("hidden");
|
||||||
|
} else {
|
||||||
|
this.setAttribute("hidden", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async setConfig(config) {
|
async setConfig(config) {
|
||||||
while (!window.browser_mod) {
|
while (!window.browser_mod) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||||
@ -28,10 +40,10 @@ class BrowserPlayer extends LitElement {
|
|||||||
"canplay",
|
"canplay",
|
||||||
"loadeddata",
|
"loadeddata",
|
||||||
])
|
])
|
||||||
window.browser_mod._audio_player.addEventListener(event, () =>
|
window.browser_mod?._audio_player?.addEventListener(event, () =>
|
||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
);
|
);
|
||||||
window.browser_mod._video_player.addEventListener(event, () =>
|
window.browser_mod?._video_player?.addEventListener(event, () =>
|
||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -72,6 +84,13 @@ class BrowserPlayer extends LitElement {
|
|||||||
window.setTimeout(() => this.requestUpdate(), 100);
|
window.setTimeout(() => this.requestUpdate(), 100);
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
|
if (!window.browser_mod?.registered) {
|
||||||
|
return html`
|
||||||
|
<ha-card>
|
||||||
|
<ha-alert> This browser is not registered to Browser Mod. </ha-alert>
|
||||||
|
</ha-card>
|
||||||
|
`;
|
||||||
|
}
|
||||||
return html`
|
return html`
|
||||||
<ha-card>
|
<ha-card>
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
@ -116,6 +135,12 @@ class BrowserPlayer extends LitElement {
|
|||||||
|
|
||||||
static get styles() {
|
static get styles() {
|
||||||
return css`
|
return css`
|
||||||
|
:host(["hidden"]) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
:host([edit-mode="true"]) {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
paper-icon-button[highlight] {
|
paper-icon-button[highlight] {
|
||||||
color: var(--accent-color);
|
color: var(--accent-color);
|
||||||
}
|
}
|
||||||
@ -143,12 +168,12 @@ class BrowserPlayer extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(async () => {
|
// (async () => {
|
||||||
while (!window.browser_mod) {
|
// while (!window.browser_mod) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
// await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||||
}
|
// }
|
||||||
await window.browser_mod.connectionPromise;
|
// await window.browser_mod.connectionPromise;
|
||||||
|
|
||||||
if (!customElements.get("browser-player"))
|
if (!customElements.get("browser-player"))
|
||||||
customElements.define("browser-player", BrowserPlayer);
|
customElements.define("browser-player", BrowserPlayer);
|
||||||
})();
|
// })();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user