Style audio device select, hide mini player volume on tablet
- Native select with explicit font stack and focus glow - Hide mini player volume section below 900px Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1151,13 +1151,22 @@ button:disabled {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.audio-device-selector select {
|
.audio-device-selector select {
|
||||||
padding: 0.5rem 0.625rem;
|
width: 100%;
|
||||||
border-radius: 8px;
|
padding: 10px;
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
|
border-radius: 4px;
|
||||||
background: var(--bg-tertiary);
|
background: var(--bg-tertiary);
|
||||||
color: var(--text-primary);
|
color: var(--text-primary);
|
||||||
font-size: 0.875rem;
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
||||||
|
font-size: 1rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
transition: border-color 0.25s ease, box-shadow 0.25s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-device-selector select:focus {
|
||||||
|
outline: none;
|
||||||
|
border-color: var(--accent);
|
||||||
|
box-shadow: 0 0 0 3px rgba(29, 185, 84, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.audio-device-status {
|
.audio-device-status {
|
||||||
@@ -3025,6 +3034,10 @@ footer .separator {
|
|||||||
|
|
||||||
/* Tablet breakpoint */
|
/* Tablet breakpoint */
|
||||||
@media (min-width: 601px) and (max-width: 900px) {
|
@media (min-width: 601px) and (max-width: 900px) {
|
||||||
|
.mini-volume-container {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.browser-list-bitrate {
|
.browser-list-bitrate {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -477,7 +477,6 @@
|
|||||||
try {
|
try {
|
||||||
const token = localStorage.getItem('media_server_token');
|
const token = localStorage.getItem('media_server_token');
|
||||||
|
|
||||||
// Fetch devices and current status in parallel
|
|
||||||
const [devicesResp, statusResp] = await Promise.all([
|
const [devicesResp, statusResp] = await Promise.all([
|
||||||
fetch('/api/media/visualizer/devices', {
|
fetch('/api/media/visualizer/devices', {
|
||||||
headers: { 'Authorization': `Bearer ${token}` }
|
headers: { 'Authorization': `Bearer ${token}` }
|
||||||
@@ -497,7 +496,6 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show section
|
|
||||||
section.style.display = '';
|
section.style.display = '';
|
||||||
|
|
||||||
// Populate dropdown (keep auto-detect as first option)
|
// Populate dropdown (keep auto-detect as first option)
|
||||||
@@ -519,10 +517,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update status indicator
|
|
||||||
updateAudioDeviceStatus(status);
|
updateAudioDeviceStatus(status);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// Silently hide if unavailable
|
|
||||||
section.style.display = 'none';
|
section.style.display = 'none';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -562,7 +558,6 @@
|
|||||||
if (resp.ok) {
|
if (resp.ok) {
|
||||||
const result = await resp.json();
|
const result = await resp.json();
|
||||||
updateAudioDeviceStatus(result);
|
updateAudioDeviceStatus(result);
|
||||||
// Re-check visualizer availability since device changed
|
|
||||||
await checkVisualizerAvailability();
|
await checkVisualizerAvailability();
|
||||||
if (visualizerEnabled) applyVisualizerMode();
|
if (visualizerEnabled) applyVisualizerMode();
|
||||||
showToast(t('settings.audio.device_changed'), 'success');
|
showToast(t('settings.audio.device_changed'), 'success');
|
||||||
|
|||||||
Reference in New Issue
Block a user