From 6af298c5a332f865e626e1ca3903a5004ba1527d Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 6 Sep 2023 23:13:06 +0200 Subject: fix automatic chat control --- client-web/source/menu.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'client-web/source/menu.ts') diff --git a/client-web/source/menu.ts b/client-web/source/menu.ts index f64febb..7bb5b43 100644 --- a/client-web/source/menu.ts +++ b/client-web/source/menu.ts @@ -33,6 +33,7 @@ export function info_br() { ) } +export let chat_control: (s?: boolean) => void; export function control_bar(room: Room, side_ui_container: HTMLElement): HTMLElement { const leave = ebutton("Leave", { class: "leave", onclick() { window.location.href = "/" } }) @@ -44,10 +45,11 @@ export function control_bar(room: Room, side_ui_container: HTMLElement): HTMLEle ebutton("Screen", { onclick: () => room.local_user.await_add_resource(create_screencast_res()) }), ebutton("File", { onclick: () => room.local_user.await_add_resource(create_file_res()) }), ] + chat_control = chat.set_state; return enav({ class: "control-bar" }, leave, chat.el, prefs.el, ...local_controls) } -export interface SideUI { el: HTMLElement, set_state: (s: boolean) => void } +export interface SideUI { el: HTMLElement, set_state: (s?: boolean) => void } export function side_ui(container: HTMLElement, content: HTMLElement, label: string): SideUI { // TODO: close other side uis const tray = ediv({ class: "side-tray" }, content) @@ -68,6 +70,6 @@ export function side_ui(container: HTMLElement, content: HTMLElement, label: str }) return { el: elabel(label, { class: "side-ui-control" }, checkbox), - set_state(s) { checkbox.checked = s } + set_state(s) { checkbox.checked = s ?? !checkbox.checked; if (checkbox.onchange) checkbox.onchange(undefined as unknown as Event) } } -} \ No newline at end of file +} -- cgit v1.2.3-70-g09d2