{
+ playerRef.current = e.target;
+ addToHistory(videoId);
+ }}
+ />
+ ) : (
+
+ Geen video geladen
+
+ )}
+
+ {isRoomMode && hasControl && (
+
+
+
+
+
+ )}
+
+ {broadcastVideo && broadcastSender && (
+
+ π‘ {broadcastSender} speelt voor de kamer
+
+ )}
+
+
+ setInputValue(e.target.value)}
+ disabled={!!broadcastVideo && !isMyRoom}
+ className={`flex-1 p-2 rounded text-white text-sm ${(!!broadcastVideo && !isMyRoom) ? "bg-gray-800" : "bg-gray-700"}`}
+ placeholder="YouTube URL of video ID"
+ />
+ {isMyRoom && videoId && (
+
+ )}
+
+ >
+ )}
+
+ {tab === "playlist" && (
+
+
+ setInputValue(e.target.value)}
+ placeholder="Video URL toevoegen..."
+ className="flex-1 p-2 bg-gray-700 text-white rounded text-sm"
+ onKeyDown={(e) =>
+ e.key === "Enter" && addToPlaylist()
+ }
+ />
+
+
+
+
+
+
+ {playlist.length === 0 ? (
+
+ Playlist is leeg
+
+ ) : (
+
+ {playlist.map((id, i) => (
+
{
+ setInputValue(id);
+ setTab("player");
+ }}
+ >
+
+ {i + 1}.
+
+
+ {id}
+
+
+
+ ))}
+
+ )}
+
+ )}
+
+ {tab === "history" && (
+
+
+
+ π Bekeken video's ({history.length})
+
+
+
+ {history.length === 0 ? (
+
+ Nog geen video's bekeken
+
+ ) : (
+
+ {history.map((id, i) => (
+
{
+ setInputValue(id);
+ setTab("player");
+ }}
+ >
+
+ {id}
+
+
+ ))}
+
+ )}
+
+ )}
+
+ {tab === "share" && (
+
+
+
+ π€ Video delen
+
+ {videoId ? (
+
+
+
+
+
+
+ ) : (
+
+ Selecteer eerst een video om te delen
+
+ )}
+
+
+
+ π Snel delen
+
+
+
+
+
+
+
+ )}
+
+ {tab === "spectators" && (
+
+
+
+ ποΈ Gebruikers in kamer ({spectators.length})
+
+
+
+ {spectators.length === 0 ? (
+
+ Geen gebruikers in deze kamer
+
+ ) : (
+
+ {spectators.map((user) => (
+
+

{
+ (
+ e.target as HTMLImageElement
+ ).src =
+ "data:image/svg+xml,
";
+ }}
+ />
+
+ {user.name}
+
+ {watcherIds.has(user.id) && (
+
πΊ
+ )}
+
+ ))}
+
+ )}
+
+ )}
+
+ {tab === "settings" && (
+
+
+
+
+
+
+ {showVolumeSlider && (
+
{
+ setVolume(parseInt(e.target.value));
+ setVolumePreset(
+ parseInt(e.target.value),
+ );
+ }}
+ className="w-full"
+ />
+ )}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
βΉοΈ Info
+
+ Room Mode:{" "}
+ {isRoomMode ? "β Actief" : "β Niet actief"}
+
+
+ Controle:{" "}
+ {hasControl
+ ? "β Je hebt controle"
+ : "β Alleen kijken"}
+
+
+
+ )}
+