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');