diff --git a/custom_components/webrtc/www/webrtc-camera.js b/custom_components/webrtc/www/webrtc-camera.js index 49fe0f7..2186688 100644 --- a/custom_components/webrtc/www/webrtc-camera.js +++ b/custom_components/webrtc/www/webrtc-camera.js @@ -129,6 +129,11 @@ class WebRTCCamera extends VideoRTC { return this.config.streams[this.streamID].name || `S${this.streamID}`; } + /** @return {string} */ + get streamIcon() { + return this.config.streams[this.streamID].icon || `mdi:camera`; + } + oninit() { super.oninit(); this.renderMain(); @@ -480,13 +485,19 @@ class WebRTCCamera extends VideoRTC { display: none; } .stream { - padding-top: 2px; + display: none; + cursor: pointer; + align-items: center; + } + .streamicon { + pointer-events: none; + } + .streamname { margin-left: 2px; font-weight: 400; font-size: 20px; color: white; - display: none; - cursor: pointer; + pointer-events: none; } `); @@ -497,7 +508,10 @@ class WebRTCCamera extends VideoRTC { - ${this.streamName} +
+ + ${this.streamName} +
@@ -563,7 +577,8 @@ class WebRTCCamera extends VideoRTC { document.exitPictureInPicture().catch(console.warn); } else if (ev.target.className === 'stream') { this.nextStream(true); - ev.target.innerText = this.streamName; + ev.target.querySelector('.streamname').innerText = this.streamName; + ev.target.querySelector('.streamicon').icon = this.streamIcon; } }); @@ -592,7 +607,7 @@ class WebRTCCamera extends VideoRTC { }); const stream = this.querySelector('.stream'); - stream.style.display = this.config.streams.length > 1 ? 'block' : 'none'; + stream.style.display = this.config.streams.length > 1 ? 'flex' : 'none'; } renderShortcuts() {