Watch Together: Embed-Fehlerbehandlung, klickbare Queue, Video-Titel

- YouTube onError Handler: Erkennt Error 101/150 (Embedding deaktiviert),
  zeigt Fehlermeldung + "Auf YouTube oeffnen" Link, auto-skip nach 3s
- Queue-Items klickbar fuer Host (play_video mit Index)
- Video-Titel werden via noembed.com oEmbed API geholt
- Server-Endpoint: GET /api/watch-together/video-info?url=...
- "Hinzufuegen" Button zeigt Ladezustand waehrend Titel-Fetch

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel 2026-03-07 11:19:59 +01:00
parent e4895a792c
commit 09813b626f
7 changed files with 4967 additions and 4838 deletions

View file

@ -651,6 +651,57 @@
flex-shrink: 0;
}
/* ── Player Error Overlay ── */
.wt-player-error {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
background: rgba(0, 0, 0, 0.85);
color: #fff;
z-index: 2;
text-align: center;
padding: 20px;
}
.wt-error-icon {
font-size: 48px;
}
.wt-player-error p {
font-size: 15px;
color: var(--text-muted);
margin: 0;
}
.wt-yt-link {
display: inline-block;
padding: 8px 20px;
background: #ff0000;
color: #fff;
border-radius: var(--radius);
text-decoration: none;
font-weight: 600;
font-size: 14px;
transition: background var(--transition);
}
.wt-yt-link:hover {
background: #cc0000;
}
.wt-skip-info {
font-size: 12px !important;
color: var(--text-faint) !important;
font-style: italic;
}
/* ── Clickable Queue Items ── */
.wt-queue-item.clickable {
cursor: pointer;
}
.wt-queue-item.clickable:hover {
background: rgba(230, 126, 34, 0.12);
}
/*
RESPONSIVE
*/