diff --git a/docs/changelog.md b/docs/changelog.md index f4d626c..fab0ce5 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,24 @@ # Changelog - SimpleConnect Electron +## [1.2.6] - 2025-09-04 + +### Ajouté +- **Tri alphabétique des onglets** : Organisation logique des centres + - Les onglets sont maintenant triés par ordre alphabétique du code centre + - Utilisation de `localeCompare()` avec locale français + - Option `numeric: true` pour gérer correctement les codes avec nombres (ACR2 avant ACR10) + +### Modifié +- **Ordre d'affichage des centres** : Prévisible et cohérent + - Indépendant de l'ordre retourné par SignalR + - Premier onglet sélectionné = premier alphabétiquement + - Plus facile de retrouver un centre spécifique + +### Technique +- Création d'une copie triée avec `[...currentCentres].sort()` +- Tri appliqué dans `initializeCenters()` et `showMainPage()` +- Préservation du tableau original pour les autres fonctionnalités + ## [1.2.5] - 2025-09-04 ### Corrigé diff --git a/renderer.js b/renderer.js index d49cfac..1f0cbb5 100644 --- a/renderer.js +++ b/renderer.js @@ -286,9 +286,13 @@ function showMainPage() { initializeCenters(); updateStatus('available'); - // Sélectionner automatiquement le premier centre/onglet + // Sélectionner automatiquement le premier centre/onglet (après tri alphabétique) if (currentCentres.length > 0) { - selectCenter(currentCentres[0].id); + // Trier pour obtenir le premier alphabétiquement + const sortedCentres = [...currentCentres].sort((a, b) => { + return a.id.localeCompare(b.id, 'fr', { numeric: true }); + }); + selectCenter(sortedCentres[0].id); } } @@ -301,8 +305,13 @@ function initializeCenters() { centerTabs.innerHTML = ''; webviewContainer.innerHTML = ''; + // Trier les centres par ordre alphabétique du code (id) + const sortedCentres = [...currentCentres].sort((a, b) => { + return a.id.localeCompare(b.id, 'fr', { numeric: true }); + }); + // Créer les onglets et webviews - currentCentres.forEach(centre => { + sortedCentres.forEach(centre => { // Onglet const tab = document.createElement('div');