|   | 
|   | 
| class WebRTCStreamerFooterElement extends HTMLElement {     | 
|     constructor() { | 
|         super();  | 
|         this.shadowDOM = this.attachShadow({mode: 'open'}); | 
|         this.shadowDOM.innerHTML = ` | 
|                     <style>@import "styles.css"</style> | 
|                     <footer id="footer"></footer> | 
|                     `; | 
|     } | 
|   | 
|     static get observedAttributes() { | 
|         return ['webrtcurl']; | 
|     }   | 
|   | 
|     attributeChangedCallback(attrName, oldVal, newVal) { | 
|         if (attrName === "webrtcurl") { | 
|             this.fillFooter(); | 
|         } | 
|     } | 
|   | 
|     connectedCallback() { | 
|         this.fillFooter(); | 
|     } | 
|   | 
|     fillFooter() { | 
|         let footerElement = this.shadowDOM.getElementById("footer"); | 
|         const webrtcurl = this.getAttribute("webrtcurl") || ""; | 
|         fetch(webrtcurl + "/api/version").then(r => r.text()).then( function (response) {  | 
|             footerElement.innerHTML = "<p><a href='https://github.com/mpromonet/webrtc-streamer'>WebRTC-Streamer</a> " + response.split(" ")[0] + "</p>";             | 
|         });     | 
|      | 
|     } | 
|   | 
| } | 
|   | 
| customElements.define('webrtc-streamer-footer', WebRTCStreamerFooterElement); |