Bluesky app fork with some witchin' additions 💫

move yt embed script to its own source file (#9337)

authored by retr0.id and committed by

GitHub fd14bbfe 9f98e535

+37 -38
+1 -1
bskyweb/cmd/bskyweb/server.go
··· 223 223 e.GET("/robots.txt", echo.WrapHandler(staticHandler)) 224 224 } 225 225 226 - e.GET("/iframe/youtube.html", echo.WrapHandler(staticHandler)) 226 + e.GET("/iframe/*", echo.WrapHandler(staticHandler)) 227 227 e.GET("/static/*", echo.WrapHandler(http.StripPrefix("/static/", staticHandler)), func(next echo.HandlerFunc) echo.HandlerFunc { 228 228 return func(c echo.Context) error { 229 229 c.Response().Before(func() {
+1 -37
bskyweb/static/iframe/youtube.html
··· 16 16 } 17 17 </style> 18 18 <div class="container"><div class="video" id="player"></div></div> 19 - <script> 20 - const url = new URL(window.location) 21 - const viewport = document.querySelector("meta[name=viewport]") 22 - 23 - const tag = document.createElement("script") 24 - tag.src = "https://www.youtube.com/iframe_api" 25 - const firstScriptTag = document.getElementsByTagName('script')[0]; 26 - firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 27 - 28 - let player 29 - function onYouTubeIframeAPIReady() { 30 - let videoId = url.searchParams.get('videoId') 31 - videoId = decodeURIComponent(videoId) 32 - videoId = videoId.replace(/[^a-zA-Z0-9_-]/g, "") 33 - if (videoId.length !== 11) throw new Error("Invalid video ID") 34 - 35 - let start = url.searchParams.get('start') 36 - start = start.replace(/[^0-9]/g, "") 37 - 38 - player = new YT.Player('player', { 39 - width: "1000", 40 - height: "1000", 41 - videoId, 42 - playerVars: { 43 - autoplay: 1, 44 - start, 45 - rel: 0, 46 - loop: 0, 47 - playsinline: 1, 48 - origin: url.origin 49 - }, 50 - }); 51 - } 52 - function onPlayerReady(event) { 53 - event.target.playVideo(); 54 - } 55 - </script> 19 + <script src="youtube.js"></script>
+35
bskyweb/static/iframe/youtube.js
··· 1 + const url = new URL(window.location) 2 + const viewport = document.querySelector("meta[name=viewport]") 3 + 4 + const tag = document.createElement("script") 5 + tag.src = "https://www.youtube.com/iframe_api" 6 + const firstScriptTag = document.getElementsByTagName('script')[0]; 7 + firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 8 + 9 + let player 10 + function onYouTubeIframeAPIReady() { 11 + let videoId = url.searchParams.get('videoId') 12 + videoId = decodeURIComponent(videoId) 13 + videoId = videoId.replace(/[^a-zA-Z0-9_-]/g, "") 14 + if (videoId.length !== 11) throw new Error("Invalid video ID") 15 + 16 + let start = url.searchParams.get('start') 17 + start = start.replace(/[^0-9]/g, "") 18 + 19 + player = new YT.Player('player', { 20 + width: "1000", 21 + height: "1000", 22 + videoId, 23 + playerVars: { 24 + autoplay: 1, 25 + start, 26 + rel: 0, 27 + loop: 0, 28 + playsinline: 1, 29 + origin: url.origin 30 + }, 31 + }); 32 + } 33 + function onPlayerReady(event) { 34 + event.target.playVideo(); 35 + }