MAJ
This commit is contained in:
+36
-19
@@ -167,32 +167,36 @@
|
||||
|
||||
onMounted() {
|
||||
var saved = localStorage.getItem('selectionFormations')
|
||||
var self = this
|
||||
|
||||
// Charger la sélection locale si elle existe
|
||||
if (saved) {
|
||||
try {
|
||||
this.state.selectedFormations = JSON.parse(saved)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error('Erreur lecture localStorage :', e)
|
||||
}
|
||||
}
|
||||
|
||||
var self = this
|
||||
|
||||
// Écouter les changements d'authentification Firebase
|
||||
// Écouter les changements de connexion Firebase
|
||||
window.firebaseServices.onUserChanged(function(user) {
|
||||
|
||||
self.update({ user: user })
|
||||
|
||||
// Si un utilisateur vient de se connecter, charger sa sélection depuis Firestore
|
||||
if (user) {
|
||||
// Charger la sélection depuis Firestore
|
||||
window.firebaseServices.loadUserData(user.uid).then(function(data) {
|
||||
if (data && data.selection) {
|
||||
self.update({ selectedFormations: data.selection })
|
||||
localStorage.setItem('selectionFormations', JSON.stringify(data.selection))
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.error('Erreur chargement Firestore:', err)
|
||||
})
|
||||
window.firebaseServices.loadUserData(user.uid)
|
||||
.then(function(data) {
|
||||
if (data && data.selection) {
|
||||
self.update({ selectedFormations: data.selection })
|
||||
localStorage.setItem('selectionFormations', JSON.stringify(data.selection))
|
||||
}
|
||||
})
|
||||
.catch(function(err) {
|
||||
console.error('Erreur chargement Firestore :', err)
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
window.addEventListener('hashchange', function() {
|
||||
@@ -202,26 +206,31 @@
|
||||
this.handleRoute()
|
||||
},
|
||||
|
||||
// Appelée après une connexion ou inscription réussie
|
||||
onUserAuth() {
|
||||
// Appelé après connexion/inscription réussie — l'écouteur onUserChanged gère le reste
|
||||
// L'écouteur onUserChanged dans onMounted gère automatiquement le reste
|
||||
},
|
||||
|
||||
// Appelée après une déconnexion
|
||||
onUserLogout() {
|
||||
// Vider la sélection locale à la déconnexion → obligé de se reconnecter pour retrouver ses formations
|
||||
// On vide la sélection : l'utilisateur doit se reconnecter pour retrouver ses formations
|
||||
this.update({ selectedFormations: [] })
|
||||
localStorage.removeItem('selectionFormations')
|
||||
},
|
||||
|
||||
// Sauvegarder la sélection en local ET dans Firestore si connecté
|
||||
async saveSelection(selection) {
|
||||
|
||||
localStorage.setItem('selectionFormations', JSON.stringify(selection))
|
||||
|
||||
if (this.state.user) {
|
||||
try {
|
||||
await window.firebaseServices.saveUserData(this.state.user.uid, { selection: selection })
|
||||
} catch (err) {
|
||||
console.error('Erreur sauvegarde Firestore:', err)
|
||||
console.error('Erreur sauvegarde Firestore :', err)
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
handleRoute() {
|
||||
@@ -397,9 +406,17 @@
|
||||
this.saveSelection([])
|
||||
},
|
||||
|
||||
updateNote(e) { this.update({ note: Number(e.target.value) }) },
|
||||
updateSerie(e) { this.update({ serie: e.target.value }) },
|
||||
updateSort(e) { this.update({ sortBy: e.target.value }) },
|
||||
updateNote(e) {
|
||||
this.update({ note: Number(e.target.value) })
|
||||
},
|
||||
|
||||
updateSerie(e) {
|
||||
this.update({ serie: e.target.value })
|
||||
},
|
||||
|
||||
updateSort(e) {
|
||||
this.update({ sortBy: e.target.value })
|
||||
},
|
||||
|
||||
getSortedSelection() {
|
||||
var selection = this.state.selectedFormations.slice()
|
||||
|
||||
Reference in New Issue
Block a user