diff --git a/app.py b/app.py index 7a3a4a7..57389a6 100644 --- a/app.py +++ b/app.py @@ -258,7 +258,11 @@ def check_answer(): correct_answer = data.get('correct_answer', '').lower() game_mode = data.get('game_mode', 'artist') playlist_id = data.get('playlist_id') + all_tracks = data.get('all_tracks', []) + # Originalwert für Vergleich speichern + original_guess = guess + # Bei Titel und Künstler: Sonderzeichen entfernen für besseren Vergleich if game_mode == 'title' or game_mode == 'artist': guess = clean_title(guess) @@ -274,10 +278,28 @@ def check_answer(): key = f'score_{playlist_id}' session[key] = session.get(key, 0) + 1 - return { + # Bei falscher Antwort: Finde das eingegebene Lied in all_tracks + guessed_track = None + if not is_correct and all_tracks: + for track in all_tracks: + if game_mode == 'title': + if clean_title(track['name'].lower()) == guess: + guessed_track = track + break + elif game_mode == 'artist': + if clean_title(track['artist'].lower()) == guess: + guessed_track = track + break + + response = { "correct": is_correct, "correct_answer": correct_answer } + + if guessed_track: + response["guessed_track"] = guessed_track + + return response @app.route("/play_track", methods=["POST"]) def play_track(): diff --git a/templates/quiz.html b/templates/quiz.html index 54d9caf..c32937f 100644 --- a/templates/quiz.html +++ b/templates/quiz.html @@ -381,7 +381,8 @@ guess: guess, correct_answer: correctAnswer, game_mode: currentGameMode, - playlist_id: "{{ playlist_id }}" + playlist_id: "{{ playlist_id }}", + all_tracks: allTracks // Sende alle Tracks mit, um das falsche Lied zu finden }) }) .then(response => response.json()) @@ -394,8 +395,31 @@ resultContainer.innerHTML = `
${i18n.right_answer} ${data.correct_answer}
`; + + // Wenn ein falsches Lied erkannt wurde, zeige Vergleich an + if (data.guessed_track) { + resultContainer.innerHTML = ` +${i18n.song || 'Song'}: ${data.guessed_track.name}
+${i18n.artist || 'Artist'}: ${data.guessed_track.artist}
+${i18n.song || 'Song'}: {{ track.name | clean }}
+${i18n.artist || 'Artist'}: {{ track.artists[0].name | clean }}
+${i18n.right_answer} ${data.correct_answer}
`; + } } // Song-Infos ergänzen