Update v2026.5.41 — suppression des hardcodes runtime + UX admin + thème unifié

2026-04-27 02:14:05 +02:00
parent 4b0d989556
commit 2755b0dc1f
+42 -2
@@ -6,13 +6,53 @@ L'extension a connu **3 systèmes de versionning successifs** :
|---|---|---| |---|---|---|
| Avril 2026 (jeudi 16) | Versions de base | `1.0.0`, `2.0.0`, `3.0.0` | | Avril 2026 (jeudi 16) | Versions de base | `1.0.0`, `2.0.0`, `3.0.0` |
| Avril 2026 | SemVer classique | `4.1.3`, `4.2.8`, `5.0.12` | | Avril 2026 | SemVer classique | `4.1.3`, `4.2.8`, `5.0.12` |
| Avril 2026 → maintenant | **`ANNÉE.MAJEURE.PATCH`** | `2026.5.16``2026.5.40` | | Avril 2026 → maintenant | **`ANNÉE.MAJEURE.PATCH`** | `2026.5.16``2026.5.41` |
--- ---
## Versions notables ## Versions notables
### `v2026.5.40` (latest) — Sélection groupe EV + édition domaines + tri équipe + réorga repo ### `v2026.5.41` (latest) — Suppression des hardcodes runtime + UX admin + thème unifié
**Plus aucun hardcode runtime**
- Le groupe EV, les domaines, la liste de techniciens et les absences récurrentes ne sont **plus codés en dur** dans `background.js` / `viewer.js`. Tout est lu depuis `admin_config` (chrome.storage.local), alimenté par les onglets **Équipe** et **EasyVista** du panel admin.
- `chrome.storage.local` survit aux mises à jour d'extension → la configuration de l'utilisateur (groupe, équipe, absences récurrentes, domaines) est conservée d'une version à l'autre.
- **Au 1er install** : aucun tech sélectionné, aucune absence récurrente. Le viewer affiche *"Aucun technicien sélectionné. Ouvrez ⚙ Paramètres → Équipe…"* tant que rien n'est configuré.
- Suppression de `isPillonelAbsentFriday()` (hardcode du nom + du jour) → remplacée par `isRecurringAbsence(tech, isoDate)` générique. Label "Absent le X" calculé depuis le jour de la semaine.
**UX admin**
- **Auto-refresh à l'enregistrement** (équipe / domaines / heures) → plus besoin de recharger l'extension manuellement.
- **Bouton ✓ Appliquer** pour les heures de la journée + toast de confirmation.
- **Toasts au-dessus du flou** du panel admin (z-index 11000 > 10000).
- **Onglet Statuts retiré** (placeholder lecture-seule).
- **Tri équipe** : inclus d'abord, puis exclus, alphabétique dans chaque sous-groupe (ne saute plus quand on coche/décoche).
**Thème unifié**
- Le toggle 🌙 de la topbar et le sélecteur Apparence du panel admin écrivent dans la même clé `cfg.theme`.
- Mode "Automatique" résolu en JS via `prefers-color-scheme` (avant : le CSS retombait sur le clair même quand l'OS était en sombre, faute de bloc `@media`).
- Listener `matchMedia` pour bascule live en mode auto.
**Conflits absence/réservation × intervention**
- Si une intervention est planifiée pendant qu'un tech a une **absence** (toute la journée ou demi-journée) ou une **réservation** au même créneau, sa carte (row classique + mini-card en vue horizontale) est peinte en **rouge plein** avec texte blanc. Logique : full-day → toutes les interv en rouge ; partiel → seules celles en chevauchement.
**Synchronisation des heures EV**
- Les paramètres `day_start_hour` / `day_end_hour` envoyés à `planning_xhr.php` et `begin_hour` / `end_hour` envoyés à `plan_set_holidays_popup.php` (création absence) et `plan_set_tech_planif_popup.php` (douchette) lisent désormais `cfg.dayStart` / `cfg.dayEnd`. Avant : `8` / `18` / `19` figés en dur.
**Permissions runtime pour domaines**
- `manifest.json` : ajout de `optional_host_permissions: ["https://*/*"]`.
- `chrome.permissions.request()` au save d'un domaine custom dans Paramètres → EasyVista. Refus → toast d'avertissement.
**Vue horizontale**
- Popups au survol/clic limités aux candidats `dessous`/`dessus` (la sidebar à gauche et la timeline pleine largeur rendent gauche/droite peu praticables).
**Coulisses (`background.js`)**
- Nouveaux helpers : `getAdminConfig()`, `getEvOrigins()`, `getGroupId()`, `getSupportIds()`, `getDayBounds()`.
- `fetchPlanningXml()` lève `Error("no_team_configured")` quand la liste de techs est vide.
**Ménage**
- Suppression de `CACHE_DAYS` (inutilisée), `LS_THEME` (clé localStorage obsolète), commentaire historique sur `initAdminMenu()`. Aucun symbole orphelin restant.
### `v2026.5.40` — Sélection groupe EV + édition domaines + tri équipe + réorga repo
**Onglet Équipe** **Onglet Équipe**
- Nouveau **sélecteur de groupe EasyVista** (SI-CSS, SI-EXT, …) en tête de section, détecté automatiquement à l'ouverture du panel via le `<select id="plan_group_id">` de la page Planning EV → source autoritative, robuste aux ajouts/renommages côté EV (un nouveau groupe apparaît tout seul). - Nouveau **sélecteur de groupe EasyVista** (SI-CSS, SI-EXT, …) en tête de section, détecté automatiquement à l'ouverture du panel via le `<select id="plan_group_id">` de la page Planning EV → source autoritative, robuste aux ajouts/renommages côté EV (un nouveau groupe apparaît tout seul).