feat: Remplacer le bouton "Déconnecter" par "Quitter" avec fermeture complète
- Changement du texte du bouton de "Déconnexion" à "Quitter" - Le bouton effectue maintenant une déconnexion puis ferme l'application - Ajout d'un handler IPC 'quit-app' pour fermer proprement l'application - Fermeture propre de la connexion SignalR avant l'arrêt - Conservation de l'animation de déconnexion pour une transition fluide - Mise à jour du changelog avec la version 1.2.15
This commit is contained in:
@@ -1,5 +1,20 @@
|
||||
# Changelog - SimpleConnect Electron
|
||||
|
||||
## [1.2.15] - 2025-09-04
|
||||
|
||||
### Modifié
|
||||
- **Bouton de déconnexion remplacé par "Quitter"** : Changement du comportement de fermeture
|
||||
- Le bouton "Déconnecter" devient "Quitter" pour plus de clarté
|
||||
- Déconnexion automatique de l'agent avant fermeture
|
||||
- Animation de déconnexion maintenue pour une transition fluide
|
||||
- Fermeture propre de la connexion SignalR
|
||||
- Arrêt complet de l'application après déconnexion
|
||||
|
||||
### Technique
|
||||
- Nouveau handler IPC `quit-app` pour fermer l'application
|
||||
- Modification de `handleConfirm()` pour appeler la fermeture après déconnexion
|
||||
- Délai de 1 seconde avant fermeture pour voir l'animation complète
|
||||
|
||||
## [1.2.14] - 2025-09-04
|
||||
|
||||
### Ajouté
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
<button id="toggleNotesBtn" class="btn-icon" title="Afficher/Masquer les notes">
|
||||
<span class="icon-notes">📝</span>
|
||||
</button>
|
||||
<button id="logoutBtn" class="btn-secondary">Déconnexion</button>
|
||||
<button id="logoutBtn" class="btn-secondary">Quitter</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
16
main.js
16
main.js
@@ -439,6 +439,22 @@ ipcMain.handle('logout', async () => {
|
||||
return { success: true };
|
||||
});
|
||||
|
||||
// Handler pour quitter l'application proprement
|
||||
ipcMain.handle('quit-app', async () => {
|
||||
// Fermer la connexion SignalR si elle existe
|
||||
if (signalRConnection) {
|
||||
try {
|
||||
await signalRConnection.stop();
|
||||
console.log('Connexion SignalR fermée');
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la fermeture de SignalR:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// Quitter l'application
|
||||
app.quit();
|
||||
});
|
||||
|
||||
// Obtenir l'agent actuel
|
||||
ipcMain.handle('get-current-agent', () => {
|
||||
if (!currentAgent || !agentConnectionInfo) return null;
|
||||
|
||||
22
renderer.js
22
renderer.js
@@ -258,26 +258,10 @@ function showLogoutModal() {
|
||||
await ipcRenderer.invoke('logout');
|
||||
|
||||
// Attendre encore un peu pour une transition fluide
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
|
||||
// Réinitialiser et fermer
|
||||
modal.classList.remove('active');
|
||||
hideLogoutProgress();
|
||||
currentAgent = null;
|
||||
currentCentres = [];
|
||||
activeCenter = null;
|
||||
webviews = {};
|
||||
resetLoginForm(); // Réinitialiser le formulaire
|
||||
showLoginPage();
|
||||
|
||||
// Forcer le focus après la fermeture complète de la modal
|
||||
setTimeout(() => {
|
||||
const accessCodeInput = document.getElementById('accessCode');
|
||||
if (accessCodeInput) {
|
||||
accessCodeInput.focus();
|
||||
accessCodeInput.select();
|
||||
}
|
||||
}, 200);
|
||||
// Fermer l'application proprement
|
||||
await ipcRenderer.invoke('quit-app');
|
||||
|
||||
cancelBtn.removeEventListener('click', handleCancel);
|
||||
confirmBtn.removeEventListener('click', handleConfirm);
|
||||
|
||||
Reference in New Issue
Block a user