modified: app.py

modified:   templates/quiz.html
This commit is contained in:
2025-11-14 23:56:46 +01:00
parent 5c02266370
commit 97d8444441
2 changed files with 18 additions and 3 deletions

5
app.py
View File

@@ -251,6 +251,9 @@ def check_answer():
game_mode = data.get('game_mode', 'artist')
playlist_id = data.get('playlist_id')
# Speichere Original für Anzeige
original_answer = correct_answer
# Bei Titel und Künstler: Sonderzeichen entfernen für besseren Vergleich
if game_mode == 'title' or game_mode == 'artist':
guess = clean_title(guess)
@@ -268,7 +271,7 @@ def check_answer():
return {
"correct": is_correct,
"correct_answer": correct_answer
"correct_answer": original_answer
}
@app.route("/play_track", methods=["POST"])

View File

@@ -312,6 +312,17 @@
}
}
// Hilfsfunktion: Entfernt Sonderzeichen wie in Python clean_title
function cleanTitle(title) {
// Entferne Klammerzusätze
title = title.replace(/(\s*[\(\[][^)\]]*[\)\]])/g, '');
// Entferne Apostrophe und Anführungszeichen
title = title.replace(/['''`´ʼ""„""']/g, '');
// Entferne weitere Sonderzeichen (außer Buchstaben, Zahlen, Leerzeichen, - und &)
title = title.replace(/[^\w\s\-&]/g, '');
return title.trim();
}
function togglePlay() {
const deviceId = document.getElementById('device_id').value;
@@ -356,8 +367,9 @@
item.className = 'search-item';
item.innerHTML = `<strong>${result.name}</strong> - ${result.artist}`;
item.onclick = function() {
document.getElementById('answerInput').value =
currentGameMode === 'artist' ? result.artist : result.name;
// Setze den bereinigten Wert (ohne Sonderzeichen) ins Input
const valueToSet = currentGameMode === 'artist' ? result.artist : result.name;
document.getElementById('answerInput').value = cleanTitle(valueToSet);
resultsContainer.style.display = 'none';
};
resultsContainer.appendChild(item);