diff --git a/templates/quiz_multiplayer.html b/templates/quiz_multiplayer.html index 0b3dc08..f682176 100644 --- a/templates/quiz_multiplayer.html +++ b/templates/quiz_multiplayer.html @@ -57,12 +57,6 @@ {% endblock %} {% block extra_body %} - {% if local_multiplayer %}
@@ -104,7 +98,6 @@ let currentGameMode = "{{ game_mode }}"; let correctAnswer = ""; const i18n = {{ translations|tojson }}; -// Spotify Web Playback SDK window.onSpotifyWebPlaybackSDKReady = () => { const token = '{{ access_token }}'; const player = new Spotify.Player({ @@ -236,6 +229,9 @@ function checkAnswer() { localStorage.setItem('quizify_multiplayer_current', next); updateMultiplayerUI(); document.getElementById('nextQuestionBtn').style.display = 'inline-block'; + }) + .catch(error => { + console.error('Error checking answer:', error); }); } @@ -267,25 +263,16 @@ window.onload = function() { } document.getElementById('startPosition').value = getOption('startPosition', 'start'); updateMultiplayerUI(); - // Kein Popup-Handling nötig, da es immer sichtbar ist (außer nach Start) -}; + // Starte Quiz nur, wenn KEIN Multiplayer-Popup offen ist + const mpPopup = document.getElementById('multiplayerPopup'); + if (!mpPopup || mpPopup.style.display === 'none') { + quizifyReady(); + } +} function quizifyReady() { // Hier alles, was nach dem Schließen des Popups passieren soll - if (window.spotifyPlayer && window.spotifyPlayer._options && window.spotifyPlayer._options.getOAuthToken) { - const device_id = document.getElementById('device_id').value; - const playDuration = getPlayDuration(); - const startPosition = getOption('startPosition', 'start'); - let position_ms = 0; - if (startPosition === 'random') { - const duration = {{ track.duration_ms if track.duration_ms else 180000 }}; - position_ms = Math.floor(Math.random() * (duration - 30000)); - } - fetch(`/play_track?device_id=${device_id}&track_uri={{ track.uri }}&position_ms=${position_ms}`, { method: 'POST' }); - if (playDuration > 0) { - window.quizifyTimeout = setTimeout(() => { window.spotifyPlayer.pause(); }, playDuration * 1000); - } - } else if (window.onSpotifyWebPlaybackSDKReady) { + if (window.onSpotifyWebPlaybackSDKReady) { window.onSpotifyWebPlaybackSDKReady(); } setCorrectAnswer(); @@ -314,6 +301,7 @@ function getPlayDuration() { return parseInt(sel.value); } +// "Nochmal X Sekunden"-Button Funktion function replayDuration() { const playDuration = getPlayDuration(); if (window.spotifyPlayer) {