[mirotalk] - #300 hide unused interface elements when a camera is not present

This commit is contained in:
Miroslav Pejic
2025-09-14 18:33:11 +02:00
parent 82afabcceb
commit 849082b0ba
2 changed files with 29 additions and 27 deletions
+13 -13
View File
@@ -1547,26 +1547,26 @@ async function whoAreYou() {
await loadLocalStorage();
if (!useVideo || !buttons.main.showVideoBtn) {
elemDisplay(document.getElementById('initVideo'), false);
elemDisplay(document.getElementById('initVideoBtn'), false);
elemDisplay(document.getElementById('initVideoMirrorBtn'), false);
elemDisplay(document.getElementById('initVideoSelect'), false);
elemDisplay(getId('initVideo'), false);
elemDisplay(getId('initVideoBtn'), false);
elemDisplay(getId('initVideoMirrorBtn'), false);
elemDisplay(getId('initVideoSelect'), false);
if (!buttons.main.showVideoBtn) {
elemDisplay(document.getElementById('tabVideoBtn'), false);
elemDisplay(getId('tabVideoBtn'), false);
}
// Disable camera settings, keep screen available
videoSelect.disabled = true;
videoObjFitSelect.disabled = true;
videoFpsSelect.disabled = true;
elemDisplay(getId('videoSourceDiv'), false);
elemDisplay(getId('videoFitDiv'), false);
elemDisplay(getId('videoFpsDiv'), false);
}
if (!useAudio || !buttons.main.showAudioBtn) {
elemDisplay(document.getElementById('initAudioBtn'), false);
elemDisplay(document.getElementById('initMicrophoneSelect'), false);
elemDisplay(document.getElementById('initSpeakerSelect'), false);
elemDisplay(document.getElementById('tabAudioBtn'), false);
elemDisplay(getId('initAudioBtn'), false);
elemDisplay(getId('initMicrophoneSelect'), false);
elemDisplay(getId('initSpeakerSelect'), false);
elemDisplay(getId('tabAudioBtn'), false);
}
if (!buttons.main.showScreenBtn) {
elemDisplay(document.getElementById('initScreenShareBtn'), false);
elemDisplay(getId('initScreenShareBtn'), false);
}
initUser.classList.toggle('hidden');
+16 -14
View File
@@ -434,15 +434,15 @@ access to use this app.
</div>
<div id="tabVideo" class="tabcontent">
<div>
<div id="videoSourceDiv">
<div class="title">
<i class="fas fa-video"></i>
<p>Video Source</p>
</div>
<br />
<select id="videoSource"></select>
<br />
</div>
<br />
<div class="title">
<i class="fas fa-palette"></i>
<p>Video Quality</p>
@@ -459,19 +459,21 @@ access to use this app.
<option value="6kVideo">6K</option>
<option value="8kVideo">8K</option>
</select>
<br />
<div class="title">
<i class="fa-solid fa-film"></i>
<p>Video fit</p>
<div id="videoFitDiv">
<br />
<div class="title">
<i class="fa-solid fa-film"></i>
<p>Video fit</p>
</div>
<br />
<select id="videoObjFitSelect">
<option value="fill">Fill</option>
<option value="contain">Contain</option>
<option value="cover">Cover</option>
<option value="scale-down">Scale-down</option>
<option value="none">None</option>
</select>
</div>
<br />
<select id="videoObjFitSelect">
<option value="fill">Fill</option>
<option value="contain">Contain</option>
<option value="cover">Cover</option>
<option value="scale-down">Scale-down</option>
<option value="none">None</option>
</select>
<div id="videoFpsDiv">
<br />
<div class="title">