Acces admin par icone engrenage + mot de passe 1234
Remplace l'appui long invisible par un petit engrenage discret dans le coin bas-droit. Clic dessus ouvre un popup de saisie de mot de passe (1234). Icone quasi invisible (15% opacite). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -73,38 +73,50 @@ function recommencer() {
|
||||
function setupEcranAccueil() {
|
||||
const accueil = document.getElementById('ecran-accueil');
|
||||
|
||||
// Toucher pour commencer
|
||||
// Toucher pour commencer (ignorer le bouton admin et le popup)
|
||||
accueil.addEventListener('click', (e) => {
|
||||
// Ignorer si c'est la zone admin
|
||||
if (e.target.closest('.zone-admin')) return;
|
||||
if (e.target.closest('.btn-admin')) return;
|
||||
allerA('mode');
|
||||
});
|
||||
|
||||
// Zone admin : appui long 3s
|
||||
const zoneAdmin = document.getElementById('zone-admin');
|
||||
let timerAdmin = null;
|
||||
|
||||
zoneAdmin.addEventListener('touchstart', (e) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
timerAdmin = setTimeout(() => allerA('admin'), 3000);
|
||||
});
|
||||
|
||||
zoneAdmin.addEventListener('touchend', () => {
|
||||
if (timerAdmin) clearTimeout(timerAdmin);
|
||||
});
|
||||
|
||||
// Support souris aussi (pour dev)
|
||||
zoneAdmin.addEventListener('mousedown', (e) => {
|
||||
e.stopPropagation();
|
||||
timerAdmin = setTimeout(() => allerA('admin'), 3000);
|
||||
});
|
||||
|
||||
zoneAdmin.addEventListener('mouseup', () => {
|
||||
if (timerAdmin) clearTimeout(timerAdmin);
|
||||
});
|
||||
}
|
||||
|
||||
// --- Admin : icone + mot de passe ---
|
||||
|
||||
const MDP_ADMIN = '1234';
|
||||
|
||||
function ouvrirAdmin() {
|
||||
const popup = document.getElementById('popup-mdp');
|
||||
const input = document.getElementById('input-mdp-admin');
|
||||
popup.classList.remove('cache');
|
||||
input.value = '';
|
||||
document.getElementById('mdp-erreur').classList.add('cache');
|
||||
setTimeout(() => input.focus(), 100);
|
||||
}
|
||||
|
||||
function fermerPopupMdp() {
|
||||
document.getElementById('popup-mdp').classList.add('cache');
|
||||
document.getElementById('input-mdp-admin').value = '';
|
||||
}
|
||||
|
||||
function validerMdpAdmin() {
|
||||
const input = document.getElementById('input-mdp-admin');
|
||||
if (input.value === MDP_ADMIN) {
|
||||
fermerPopupMdp();
|
||||
allerA('admin');
|
||||
} else {
|
||||
document.getElementById('mdp-erreur').classList.remove('cache');
|
||||
input.value = '';
|
||||
input.focus();
|
||||
}
|
||||
}
|
||||
|
||||
// Valider avec Entree
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Enter' && !document.getElementById('popup-mdp').classList.contains('cache')) {
|
||||
validerMdpAdmin();
|
||||
}
|
||||
});
|
||||
|
||||
// --- Modes ---
|
||||
|
||||
function setupModes() {
|
||||
|
||||
Reference in New Issue
Block a user