

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> " + JSON.parse(response).split(" ")[0] + "</p>";			
		});	
	
	}

}

customElements.define('webrtc-streamer-footer', WebRTCStreamerFooterElement);
