forked from FroSteel/Planification
v2026.5.39 — Séparation matin/après-midi + Apparence (thème, taille, cache, heures) + À propos
Séparation matin / après-midi - Pill "MATIN" / "APRÈS-MIDI" entre interventions (vue classique), grise neutre, ligne 3px épaisse. Affiché aussi entre les absences partielles. - Si une période est vide, son séparateur n'apparaît pas. Timeline — coupure midi très visible - Bande verticale composée d'un trait massif + stripes diagonales (effet césure). Visible immédiatement, sans label superflu. Vue horizontale (sidebar) - Tout centré horizontalement (align-items + text-align) - min-height: calc(100vh * --zoom-inv) — sidebar atteint toujours le bas de l'écran, même quand le user dézoom le texte - Bouton "Aujourd'hui" : style identique aux autres boutons (Absence, Douchette...), centré - Boutons d'action (Absence/Douchette/Actualiser/Tout recharger/Vider cache/Thème) poussés en bas via margin-top: auto + bordure top de séparation visuelle Section Apparence — refondue + en première position - Thème : sélecteur Auto / Clair / Sombre - Durée du cache (jours) : configurable, défaut 7. Lue par viewer (purge auto en cas de quota) ET background (au boot). Tooltip au survol qui montre l'emplacement physique du cache (adapté browser + OS) - Taille du texte : slider horizontal avec 5 dots, 5 paliers (-30%, -15%, 100%, +10%, +20%). Zoom appliqué uniquement au release (pas pendant le drag) pour éviter l'effet yo-yo. Couvre TOUS les textes visibles (interventions, popups, absences, réservations, "En pompier du...", date+heure de la même taille, etc.) - Heures de la journée : 2 inputs Début/Fin, défaut 8h-18h. Lecture au boot via _initDayBoundsFromConfig() qui met à jour DAY_START/END/LEN Section À propos (nouvelle, dernière du panel) - Extension : Planification - Version, Auteur (Quentin Rouiller), Affiliation (Technicien DGNSI — Canton de Vaud), Licence MIT, Code source (lien Gitea) - Description courte mise en avant Bouton "Vue" (popup user-badge) — plus clair - Affiche la vue de DESTINATION (pas la vue actuelle) - en classique → "Passer en vue Horizontale" + logo ≡ - en horizontal → "Passer en vue Classique" + logo ⊞ Tooltips - Apparition : 500ms (cancellable au mouseleave) - Disparition : 500ms (au lieu de 1000ms) - Comportement uniforme entre vue classique et horizontale Stats - "X tech. dispo" (nouveau) : disponibles = pas absent + pas réservé toute la journée. Pompier compte comme disponible.
This commit is contained in:
+21
-4
@@ -1380,13 +1380,30 @@ async function cleanupOldCaches(daysToKeep) {
|
||||
return toRemove.length;
|
||||
}
|
||||
|
||||
// v2026.5.39 : on lit admin_config pour récupérer cacheDays. Si pas dispo,
|
||||
// fallback sur 7 jours.
|
||||
async function _getCacheDays() {
|
||||
try {
|
||||
const o = await chrome.storage.local.get("admin_config");
|
||||
const cfg = o && o.admin_config;
|
||||
if (cfg && typeof cfg.cacheDays === "number" && cfg.cacheDays > 0) {
|
||||
return cfg.cacheDays;
|
||||
}
|
||||
} catch (e) {
|
||||
LOG.warn("cache", "lecture admin_config échouée, fallback 7 jours", { err: e && e.message });
|
||||
}
|
||||
return 7;
|
||||
}
|
||||
|
||||
// Au démarrage, nettoyer les anciennes alarmes et les anciens caches
|
||||
chrome.runtime.onInstalled.addListener(() => {
|
||||
chrome.runtime.onInstalled.addListener(async () => {
|
||||
clearLegacyRefreshAlarms();
|
||||
cleanupOldCaches(7).catch(err => console.warn("cleanup:", err));
|
||||
const days = await _getCacheDays();
|
||||
cleanupOldCaches(days).catch(err => LOG.warn("cleanup", "échec onInstalled", { err: err && err.message }));
|
||||
});
|
||||
|
||||
chrome.runtime.onStartup.addListener(() => {
|
||||
chrome.runtime.onStartup.addListener(async () => {
|
||||
clearLegacyRefreshAlarms();
|
||||
cleanupOldCaches(7).catch(err => console.warn("cleanup:", err));
|
||||
const days = await _getCacheDays();
|
||||
cleanupOldCaches(days).catch(err => LOG.warn("cleanup", "échec onStartup", { err: err && err.message }));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user