function getCastopodURL() { let castopod_url; try { castopod_url = document.querySelector("#castopod").value; const regex = /^https:\/\/podcast\.internet-czas-dzialac\.pl\/@icd\/episodes\//; if (!regex.test(castopod_url)) { throw new Error( "Incorrect Castopod URL format! Please paste the correct URL. Example: https://podcast.internet-czas-dzialac.pl/@icd/episodes/icd-weekend-6-stara-myszka-mickey-nowy-prezes-uodo-i-sony-psujace-sylwestra" ); } } catch (error) { alert(error); } return castopod_url; } function getPeertubeID() { let peertube_id; try { const regex = /^https:\/\/video\.internet-czas-dzialac\.pl\/w\/[a-zA-Z0-9]{22,}$/; peertube_id = document.querySelector("#peertube").value.split("/w/")[1]; if ( !regex.test(document.querySelector("#peertube").value) || !peertube_id ) { throw new Error( "Incorrect PeerTube URL format! Please paste the correct URL. Example: https://video.internet-czas-dzialac.pl/w/nTgqnY7FJLQzNYfD9xtcSy" ); } } catch (error) { alert(error); } return peertube_id; } function makeCastopodPlayer(castopod_url) { return /* HTML */ `
`; } function makePeertubePlayer(peertube_id) { return /* HTML */ `
`; } function makeAudioLinks(castopod_url) { return /* HTML */ `
`; } function makeVideoLinks(peertube_id) { return /* HTML */ `
`; } function generateHtml() { const castopod_url = getCastopodURL(); const peertube_id = getPeertubeID(); let html = ""; if (document.querySelector("#castopod-player-visible").checked) { html += makeCastopodPlayer(castopod_url); } if (document.querySelector("#peertube-player-visible").checked) { html += makePeertubePlayer(peertube_id); } if (document.querySelector("#audio-links-visible").checked) { html += makeAudioLinks(castopod_url); } if (document.querySelector("#video-links-visible").checked) { html += makeVideoLinks(peertube_id); } console.log("Copied to clipboard"); document.querySelector("textarea").value = html; document.querySelector(".preview").innerHTML = html; } function copyHtml() { if (navigator) { navigator.clipboard.writeText(document.querySelector("textarea").value); } }