From 617eb12ddbcc8e9dac8ddf4363eec7c8cc5f3dda Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Sat, 7 Jun 2025 13:23:28 +0200 Subject: [PATCH] modified: templates/quiz_multiplayer.html --- templates/quiz_multiplayer.html | 54 +++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/templates/quiz_multiplayer.html b/templates/quiz_multiplayer.html index 31a8e61..eb18682 100644 --- a/templates/quiz_multiplayer.html +++ b/templates/quiz_multiplayer.html @@ -314,10 +314,7 @@ } function switchGameMode(mode) { - // Beim Moduswechsel Multiplayer-Daten löschen - localStorage.removeItem('quizify_multiplayer_names'); - localStorage.removeItem('quizify_multiplayer_scores'); - localStorage.removeItem('quizify_multiplayer_current'); + // Multiplayer-Daten NICHT löschen, damit Namen erhalten bleiben! window.location.href = `/reset_quiz/{{ playlist_id }}?next_mode=${mode}&local_multiplayer=1`; } @@ -330,24 +327,37 @@ // localStorage.removeItem('quizify_multiplayer_current'); window.onload = function() { - document.getElementById('multiplayerPopup').style.display = 'flex'; - // PlayDuration-UI - const playDuration = getOption('playDuration', '0'); - const sel = document.getElementById('playDuration'); - const custom = document.getElementById('customDuration'); - const label = document.getElementById('customDurationLabel'); - if (['10','15','30','0'].includes(playDuration)) { - sel.value = playDuration; - custom.style.display = 'none'; - label.style.display = 'none'; - } else { - sel.value = 'custom'; - custom.value = playDuration; - custom.style.display = ''; - label.style.display = ''; - } - document.getElementById('startPosition').value = getOption('startPosition', 'start'); - }; + // Prüfe, ob wir aus dem Playerselect kommen (local_multiplayer=1 in der URL) + const urlParams = new URLSearchParams(window.location.search); + const isMultiplayer = urlParams.get('local_multiplayer') === '1'; + + if (isMultiplayer && !localStorage.getItem('quizify_multiplayer_names')) { + // Nur beim ersten Start im Multiplayer: Popup anzeigen + document.getElementById('multiplayerPopup').style.display = 'flex'; + } else { + // Sonst: Popup ausblenden, UI und Quiz starten + document.getElementById('multiplayerPopup').style.display = 'none'; + updateMultiplayerUI(); + quizifyReady(); + } + + // PlayDuration-UI + const playDuration = getOption('playDuration', '0'); + const sel = document.getElementById('playDuration'); + const custom = document.getElementById('customDuration'); + const label = document.getElementById('customDurationLabel'); + if (['10','15','30','0'].includes(playDuration)) { + sel.value = playDuration; + custom.style.display = 'none'; + label.style.display = 'none'; + } else { + sel.value = 'custom'; + custom.value = playDuration; + custom.style.display = ''; + label.style.display = ''; + } + document.getElementById('startPosition').value = getOption('startPosition', 'start'); +}; function onPlayDurationChange() { const sel = document.getElementById('playDuration');