From 3dcdba0f4b47641bdb8a47c14a8cff3f86cc1d07 Mon Sep 17 00:00:00 2001 From: RblSb Date: Thu, 24 Nov 2022 22:56:30 +0300 Subject: Right click on leader btn for pause Or long tap on touch devices --- src/client/Buttons.hx | 8 +------- src/client/Main.hx | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 8 deletions(-) (limited to 'src/client') diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index aa7e1cc..b023ab7 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -311,13 +311,7 @@ class Buttons { case L: main.toggleLeader(); case P: - if (!main.isLeader()) { - JsApi.once(SetLeader, event -> { - final name = event.setLeader.clientName; - if (name == main.getName()) player.pause(); - }); - } - main.toggleLeader(); + main.toggleLeaderAndPause(); default: return; } diff --git a/src/client/Main.hx b/src/client/Main.hx index ec3d89c..ed63568 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -136,7 +136,13 @@ class Main { function initListeners():Void { Buttons.init(this); - ge("#leader_btn").onclick = toggleLeader; + final leaderBtn = ge("#leader_btn"); + leaderBtn.onclick = toggleLeader; + leaderBtn.oncontextmenu = (e:MouseEvent) -> { + toggleLeaderAndPause(); + e.preventDefault(); + } + final voteSkip = ge("#voteskip"); voteSkip.onclick = e -> { if (Utils.isTouch() && !window.confirm(Lang.get("skipItemConfirm"))) return; @@ -1011,6 +1017,16 @@ class Main { }); } + public function toggleLeaderAndPause():Void { + if (!isLeader()) { + JsApi.once(SetLeader, event -> { + final name = event.setLeader.clientName; + if (name == getName()) player.pause(); + }); + } + toggleLeader(); + } + public function hasLeader():Bool { return clients.hasLeader(); } -- cgit v1.2.3