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
|
# 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
|
## [1.2.14] - 2025-09-04
|
||||||
|
|
||||||
### Ajouté
|
### Ajouté
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
<button id="toggleNotesBtn" class="btn-icon" title="Afficher/Masquer les notes">
|
<button id="toggleNotesBtn" class="btn-icon" title="Afficher/Masquer les notes">
|
||||||
<span class="icon-notes">📝</span>
|
<span class="icon-notes">📝</span>
|
||||||
</button>
|
</button>
|
||||||
<button id="logoutBtn" class="btn-secondary">Déconnexion</button>
|
<button id="logoutBtn" class="btn-secondary">Quitter</button>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|||||||
16
main.js
16
main.js
@@ -439,6 +439,22 @@ ipcMain.handle('logout', async () => {
|
|||||||
return { success: true };
|
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
|
// Obtenir l'agent actuel
|
||||||
ipcMain.handle('get-current-agent', () => {
|
ipcMain.handle('get-current-agent', () => {
|
||||||
if (!currentAgent || !agentConnectionInfo) return null;
|
if (!currentAgent || !agentConnectionInfo) return null;
|
||||||
|
|||||||
22
renderer.js
22
renderer.js
@@ -258,26 +258,10 @@ function showLogoutModal() {
|
|||||||
await ipcRenderer.invoke('logout');
|
await ipcRenderer.invoke('logout');
|
||||||
|
|
||||||
// Attendre encore un peu pour une transition fluide
|
// 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
|
// Fermer l'application proprement
|
||||||
modal.classList.remove('active');
|
await ipcRenderer.invoke('quit-app');
|
||||||
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);
|
|
||||||
|
|
||||||
cancelBtn.removeEventListener('click', handleCancel);
|
cancelBtn.removeEventListener('click', handleCancel);
|
||||||
confirmBtn.removeEventListener('click', handleConfirm);
|
confirmBtn.removeEventListener('click', handleConfirm);
|
||||||
|
|||||||
Reference in New Issue
Block a user