Skip to content

Commit 68f2df9

Browse files
Aggiornato il logout per uscire davvero
1 parent af78fb9 commit 68f2df9

File tree

2 files changed

+34
-19
lines changed

2 files changed

+34
-19
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ <h2>Login</h2>
2222

2323
<div class="field">
2424
<label for="name">Nome</label>
25-
<input type="text" id="name" placeholder="Mario Rossi" required />
25+
<input type="text" id="name" placeholder="Mario Bianchi" required />
2626
</div>
2727

2828
<div class="field">

script.js

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,53 @@ function login() {
22
const name = document.getElementById('name').value.trim();
33
const email = document.getElementById('email').value.trim();
44

5-
// Fake login
65
if (!name || !email) {
76
alert('Inserisci nome ed email.');
87
return;
98
}
109

11-
// Salva in localStorage per riutilizzo
1210
localStorage.setItem('name', name);
1311
localStorage.setItem('email', email);
14-
15-
// Reindirizza alla welcome
1612
window.location.href = 'welcome.html';
1713
}
1814

19-
// --- FUNZIONE LOGOUT ---
15+
// --- FUNZIONE LOGOUT "ASINCRONA" ---
2016
function logout() {
21-
// 1. Pulizia Salesforce (Sessione Chat)
22-
// Usiamo un try-catch per evitare errori se la funzione viene chiamata dove la chat non c'è
17+
// 1. Pulizia Locale Immediata
18+
localStorage.removeItem('name');
19+
localStorage.removeItem('email');
20+
21+
// Funzione per reindirizzare (la useremo tra poco)
22+
const vaiAllaHome = () => {
23+
window.location.href = 'index.html';
24+
};
25+
26+
// 2. Pulizia Salesforce con attesa
2327
try {
24-
// Controlliamo se l'oggetto Salesforce esiste in questa pagina
2528
if (typeof embeddedservice_bootstrap !== 'undefined' && embeddedservice_bootstrap.utilAPI) {
26-
embeddedservice_bootstrap.utilAPI.clearSession();
27-
console.log("Sessione Salesforce terminata.");
29+
30+
console.log("Tentativo chiusura sessione Salesforce...");
31+
32+
// Lanciamo il comando e aspettiamo la risposta (.then)
33+
embeddedservice_bootstrap.utilAPI.clearSession()
34+
.then(() => {
35+
console.log("Sessione Salesforce chiusa correttamente.");
36+
vaiAllaHome(); // Vai alla home SOLO ORA
37+
})
38+
.catch((err) => {
39+
console.warn("Errore durante la chiusura sessione (ignorato):", err);
40+
vaiAllaHome(); // Vai alla home comunque
41+
});
42+
43+
// SAFETY CHECK: Se Salesforce non risponde entro 2 secondi, esci lo stesso!
44+
setTimeout(vaiAllaHome, 2000);
45+
46+
} else {
47+
// Se non c'è Salesforce (es. sei già sloggato o non ha caricato), vai via subito
48+
vaiAllaHome();
2849
}
2950
} catch (err) {
30-
console.log("Nessuna sessione Salesforce attiva da chiudere o API non disponibile.");
51+
console.log("Errore generico logout:", err);
52+
vaiAllaHome();
3153
}
32-
33-
// 2. Pulizia Memoria Locale (I tuoi dati)
34-
localStorage.removeItem('name');
35-
localStorage.removeItem('email');
36-
37-
// 3. Reindirizzamento al Login
38-
window.location.href = 'index.html';
3954
}

0 commit comments

Comments
 (0)