a6ae6ba79e
Suppression des hardcodes : - Plus aucun hardcode runtime pour groupe EV, domaines, liste de techs, absences récurrentes. Tout lu depuis admin_config (chrome.storage.local), persiste entre les mises à jour d'extension. - Au 1er install : aucun tech sélectionné → fetch lève no_team_configured, viewer affiche message invitant à configurer Paramètres → Équipe. - Suppression de la fonction hardcodée isPillonelAbsentFriday() → remplacée par isRecurringAbsence(tech, isoDate) générique qui lit cfg.recurringAbsences. Label 'Absent le X' calculé depuis le jour. 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). - Section Statuts retirée (placeholder lecture-seule). - Tri équipe : inclus d'abord puis exclus, alphabétique. Thème unifié : - Toggle topbar et sélecteur Apparence écrivent dans la même clé cfg.theme. - Mode 'Auto' résolu en JS via prefers-color-scheme (le CSS n'avait pas de bloc @media, ce qui faisait retomber sur clair même en OS sombre). - 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 (full-day ou partielle) ou une réservation au même créneau, sa carte (row classique + mini-card horizontale) est peinte en rouge plein. Permissions runtime pour domaines : - manifest.json : optional_host_permissions [https://*/*]. - chrome.permissions.request() au save d'un domaine custom dans Paramètres → EasyVista. Refus → toast d'avertissement. Synchronisation des heures EV : - Helpers getDayBounds() côté background. day_start_hour, day_end_hour, begin_hour, end_hour des requêtes EV reflètent désormais cfg.dayStart et cfg.dayEnd. Avant : 8/18/19 hardcodés. Vue horizontale : - Popups au survol/clic limités à dessous/dessus (pas de gauche/droite car la sidebar à gauche et la timeline pleine largeur les rendent inutilisables). Ménage de code : - Suppression de CACHE_DAYS, LS_THEME, commentaire historique sur initAdminMenu(). Aucun symbole orphelin restant. Contact mis à jour : quentin.rouiller@vd.ch