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