All tab components are now always mounted and hidden via CSS (display: none/contents) instead of conditionally rendered. This prevents React state from being destroyed on tab switch, so nowPlaying, SSE handlers, and stop buttons keep working. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| index.html | ||
| package.json | ||
| tsconfig.json | ||
| vite.config.ts | ||