@@ -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" ---
2016function 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