Merge pull request 'update for live stream' (#1) from live-update into master
Reviewed-on: #1livestream-fix
commit
8cf27c3367
@ -0,0 +1 @@ |
|||||||
|
node_modules |
@ -0,0 +1,86 @@ |
|||||||
|
{{ define "main" }} |
||||||
|
{{ .Content }} |
||||||
|
|
||||||
|
<nav class="live-tab-switcher"> |
||||||
|
{{ range $index, $room := $.Site.Data.live }} |
||||||
|
<a class="live-tab-link{{ if ($index) eq 0 }} active {{end}}" id="button-{{$room.navId}}" onClick="switchTabs(event, '{{$room.navId}}')" href="#room-{{$room.navId}}">{{$room.name}}</a> |
||||||
|
{{end}} |
||||||
|
</nav> |
||||||
|
|
||||||
|
<section class="live-section"> |
||||||
|
{{ range $index, $room := $.Site.Data.live }} |
||||||
|
<div id="room-{{$room.navId}}" class="live-player-wrapper {{ if ($index) eq 1 }} live-tab-d-none {{end}}"> |
||||||
|
<video-js |
||||||
|
id="player-{{$room.navId}}" |
||||||
|
data-setup="{}" |
||||||
|
> |
||||||
|
<source src="{{ $room.url }}"> |
||||||
|
</video-js> |
||||||
|
</div> |
||||||
|
{{ end }} |
||||||
|
<iframe src="https://kiwiirc.com/client/chat.freenode.net/?&theme=cli#ozgurkon" class="live-chat"></iframe> |
||||||
|
</section> |
||||||
|
{{end}} |
||||||
|
|
||||||
|
{{ define "scripts"}} |
||||||
|
<script type="text/javascript" src="https://vjs.zencdn.net/7.8.1/video.js"></script> |
||||||
|
<script type="text/javascript" src="https://unpkg.com/@videojs/http-streaming@1.13.3/dist/videojs-http-streaming.min.js"></script> |
||||||
|
<script type="text/javascript"> |
||||||
|
|
||||||
|
const players = { |
||||||
|
{{ range $room := $.Site.Data.live }} |
||||||
|
{{ $room.navId}}: videojs('player-{{$room.navId}}', { |
||||||
|
controls: true, |
||||||
|
aspectRatio: '16:9' |
||||||
|
}), |
||||||
|
{{end}} |
||||||
|
} |
||||||
|
|
||||||
|
const roomAkgul = document.getElementById('room-akgul'); |
||||||
|
const roomUckan = document.getElementById('room-uckan'); |
||||||
|
const buttonAkgul = document.getElementById('button-akgul'); |
||||||
|
const buttonUckan = document.getElementById('button-uckan'); |
||||||
|
|
||||||
|
function switchTabs(event, id) { |
||||||
|
event.preventDefault(); |
||||||
|
pausePlayer(id); |
||||||
|
|
||||||
|
if(id === "akgul") { |
||||||
|
setActive(buttonAkgul); |
||||||
|
notActive(buttonUckan); |
||||||
|
show(roomAkgul); |
||||||
|
hide(roomUckan); |
||||||
|
} |
||||||
|
if(id === "uckan") { |
||||||
|
setActive(buttonUckan); |
||||||
|
notActive(buttonAkgul); |
||||||
|
hide(roomAkgul); |
||||||
|
show(roomUckan); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function pausePlayer(id) { |
||||||
|
const playerToPause = (id === "akgul") ? "uckan" : "akgul"; |
||||||
|
players[id].play(); |
||||||
|
players[playerToPause].pause(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
function show(el) { |
||||||
|
if(el.classList.contains('live-tab-d-none')) return el.classList.remove('live-tab-d-none'); |
||||||
|
} |
||||||
|
|
||||||
|
function hide(el) { |
||||||
|
if(!el.classList.contains('live-tab-d-none')) return el.classList.add('live-tab-d-none'); |
||||||
|
} |
||||||
|
|
||||||
|
function setActive(el) { |
||||||
|
if(!el.classList.contains('active')) return el.classList.add('active'); |
||||||
|
} |
||||||
|
|
||||||
|
function notActive(el) { |
||||||
|
if(el.classList.contains('active')) return el.classList.remove('active'); |
||||||
|
} |
||||||
|
|
||||||
|
</script> |
||||||
|
{{ end }} |
Loading…
Reference in new issue