diff options
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/Buttons.hx | 4 | ||||
| -rw-r--r-- | src/client/Main.hx | 26 |
2 files changed, 29 insertions, 1 deletions
diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index e567331..d50773d 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -109,6 +109,10 @@ class Buttons { if (!window.confirm(Lang.get("shufflePlaylistConfirm"))) return; main.send({type: ShufflePlaylist}); } + final lockPlaylist = ge("#lockplaylist"); + lockPlaylist.onclick = e -> { + if (main.isAdmin()) main.send({type: TogglePlaylistLock}); + } final showMediaUrl = ge("#showmediaurl"); showMediaUrl.onclick = e -> { diff --git a/src/client/Main.hx b/src/client/Main.hx index 9d383bc..bb3a738 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -314,6 +314,9 @@ class Main { case ShufflePlaylist: // server-only case UpdatePlaylist: player.setItems(data.updatePlaylist.videoList); + + case TogglePlaylistLock: + setPlaylistLock(data.togglePlaylistLock.isOpen); } } @@ -335,6 +338,7 @@ class Main { } else { guestLogin(guestName.value); } + setPlaylistLock(connected.isPlaylistOpen); clearChat(); serverMessage(1); for (message in connected.history) { @@ -560,7 +564,27 @@ class Main { final leaderBtn = ge("#leader_btn"); if (isLeader()) { leaderBtn.classList.add("label-success"); - } else leaderBtn.classList.remove("label-success"); + } else { + leaderBtn.classList.remove("label-success"); + } + } + + function setPlaylistLock(isOpen:Bool):Void { + final lockPlaylist = ge("#lockplaylist"); + final icon = lockPlaylist.firstElementChild; + if (isOpen) { + lockPlaylist.title = Lang.get("playlistOpen"); + lockPlaylist.classList.add("btn-success"); + lockPlaylist.classList.remove("btn-danger"); + icon.classList.add("glyphicon-ok"); + icon.classList.remove("glyphicon-lock"); + } else { + lockPlaylist.title = Lang.get("playlistLocked"); + lockPlaylist.classList.add("btn-danger"); + lockPlaylist.classList.remove("btn-success"); + icon.classList.add("glyphicon-lock"); + icon.classList.remove("glyphicon-ok"); + } } function escapeRegExp(regex:String):String { |
