inclus page final
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user