diff --git a/desktop/index.html b/desktop/index.html index ed754ec..fac5aa8 100644 --- a/desktop/index.html +++ b/desktop/index.html @@ -144,6 +144,10 @@
+ + @@ -268,4 +272,4 @@ - \ No newline at end of file + diff --git a/static/shared/app-core.js b/static/shared/app-core.js index 0aa2e4f..f7013a9 100644 --- a/static/shared/app-core.js +++ b/static/shared/app-core.js @@ -1914,25 +1914,27 @@ async function init() { } catch (err) { alert(err.message); } }; - el.mediaUploadBtn.onclick = () => { - if (!state.selectedTextChannelId && !state.selectedDmUserId) { - alert("Select a chat first."); - return; - } - el.mediaFileInput.click(); - }; + if (el.mediaUploadBtn && el.mediaFileInput) { + el.mediaUploadBtn.onclick = () => { + if (!state.selectedTextChannelId && !state.selectedDmUserId) { + alert("Select a chat first."); + return; + } + el.mediaFileInput.click(); + }; - el.mediaFileInput.onchange = async () => { - const file = el.mediaFileInput.files?.[0]; - if (!file) return; - try { - await uploadMediaFile(file); - } catch (err) { - alert(err.message); - } finally { - el.mediaFileInput.value = ""; - } - }; + el.mediaFileInput.onchange = async () => { + const file = el.mediaFileInput.files?.[0]; + if (!file) return; + try { + await uploadMediaFile(file); + } catch (err) { + alert(err.message); + } finally { + el.mediaFileInput.value = ""; + } + }; + } // 4. Voice/Soundboard Controls el.voiceVideoBtn.onclick = toggleVideo;