On-demand audio visualizer capture + UI fixes

- Audio capture starts only when first client subscribes,
  stops when last client unsubscribes (saves CPU/battery)
- Add lifecycle lock to AudioAnalyzer for thread-safe start/stop
- Status badge uses local visualizer state instead of server flag
- Fix script name vertical text break on narrow screens
- Fix script grid minimum column width on small viewports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 17:34:17 +03:00
parent 92d6709d58
commit 3846610042
5 changed files with 68 additions and 40 deletions

View File

@@ -1010,7 +1010,7 @@ button:disabled {
.scripts-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr));
gap: 1rem;
}
@@ -1047,6 +1047,10 @@ button:disabled {
.script-btn .script-label {
font-weight: 600;
font-size: 0.875rem;
text-align: center;
overflow-wrap: break-word;
word-break: break-word;
max-width: 100%;
}
.script-btn .script-description {
@@ -1512,6 +1516,7 @@ button:disabled {
border-radius: 4px;
font-size: 0.75rem;
color: var(--accent);
white-space: nowrap;
}
.action-btn {