inclus page final

This commit is contained in:
2024-12-24 00:52:14 +01:00
parent 1b12f3f732
commit ec777f133f
115 changed files with 6712 additions and 194 deletions

View File

@@ -1,5 +1,5 @@
const modeDebug = false; // Passez à true pour activer le mode debug
const challengeKey = null
document.addEventListener('DOMContentLoaded', () => {
toggleDebugMode(); // Appliquer le mode debug au chargement de la page
});
@@ -47,7 +47,7 @@ document.addEventListener('DOMContentLoaded', () => {
enableWakeLock();
});
function showPopup(challenge) {
function showPopup(challenge, currentDefiKey) {
if (!challenge) {
console.error("Aucune donnée de défi actif !");
return;
@@ -66,6 +66,7 @@ function showPopup(challenge) {
popup.style.backgroundColor = '#fff';
popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.5)';
popup.style.zIndex = '1000';
popup.style.textAlign = 'center';
// Ajouter l'image
const img = document.createElement('img');
@@ -76,35 +77,42 @@ function showPopup(challenge) {
// Ajouter le texte trouvé
const text = document.createElement('p');
text.textContent = `Texte à trouver : ${textFound}`;
text.textContent = `Texte : ${textFound}`;
popup.appendChild(text);
// Ajouter une action en fonction du mode
if (mode === 'message') {
const message = document.createElement('p');
message.textContent = "Mode : Message";
popup.appendChild(message);
} else if (mode === 'reponse') {
const input = document.createElement('input');
input.type = 'text';
input.placeholder = 'Entrez votre réponse';
popup.appendChild(input);
const submitButton = document.createElement('button');
submitButton.textContent = 'Envoyer';
popup.appendChild(submitButton);
}
// Ajouter un bouton pour fermer
// Ajouter un bouton "Fermer"
const closeButton = document.createElement('button');
closeButton.textContent = 'Fermer';
closeButton.onclick = () => document.body.removeChild(popup);
closeButton.onclick = () => {
document.body.removeChild(popup); // Supprimer la popup
markChallengeAsResolved(currentDefiKey); // Mettre à jour le défi
};
popup.appendChild(closeButton);
// Ajouter le popup au corps de la page
document.body.appendChild(popup);
}
// Fonction pour envoyer la requête POST au serveur
async function markChallengeAsResolved(defiKey) {
try {
const response = await fetch('/mark-challenge-resolved', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
username: 'baptiste',
challengeKey: defiKey
}),
});
const result = await response.json();
console.log("Défi marqué comme résolu :", result.message);
} catch (error) {
console.error("Erreur lors de la mise à jour du défi :", error);
}
}
// Fonction pour charger les données utilisateur
async function fetchUserData() {
try {
@@ -293,8 +301,8 @@ function updatePosition(position) {
updateCompass(bearing);
// Afficher le popup si distance < 5m
if (distance < 4) {
showPopup(window.activeChallenge);
if (distance < 4000) {
showPopup(window.activeChallenge, challengeKey);
}
lastDistance = distance;