forked from FroSteel/Planification
80 lines
4.3 KiB
HTML
80 lines
4.3 KiB
HTML
<!doctype html>
|
||
<html lang="fr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Planning techniciens</title>
|
||
<link rel="stylesheet" href="viewer.css">
|
||
</head>
|
||
<body>
|
||
<header class="topbar">
|
||
<div class="topbar-left">
|
||
<h1>Planning techniciens</h1>
|
||
<div class="date-nav">
|
||
<button id="nav-prev" class="btn btn-nav" title="Jour précédent" aria-label="Jour précédent">◀</button>
|
||
<input type="date" id="date-picker" class="date-input">
|
||
<button id="nav-next" class="btn btn-nav" title="Jour suivant" aria-label="Jour suivant">▶</button>
|
||
<button id="nav-today" class="btn btn-today" title="Aujourd'hui">Auj.</button>
|
||
</div>
|
||
<span id="capture-info" class="capture-info"></span>
|
||
<span id="refresh-check" class="refresh-check hidden" title="Mise à jour terminée">✓</span>
|
||
</div>
|
||
<div class="topbar-right">
|
||
<button id="refresh-partial-btn" class="btn btn-refresh" title="Actualiser : ajoute les nouvelles interventions et retire celles qui ne sont plus dans le planning. Rapide, ne re-télécharge pas les fiches déjà connues.">
|
||
<svg id="refresh-partial-icon" class="btn-refresh-icon" viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M2 8a6 6 0 0 1 10.2-4.24M14 3v3h-3" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="btn-refresh-label">Actualiser</span>
|
||
</button>
|
||
<button id="refresh-btn" class="btn btn-refresh btn-refresh-strong" title="Tout recharger : re-télécharge le planning ET toutes les fiches (y compris celles déjà connues) pour voir évoluer les statuts. Plus lent.">
|
||
<svg id="refresh-icon" class="btn-refresh-icon" viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M2 8a6 6 0 1 0 1.76-4.24M2 3v3h3" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 8a6 6 0 0 1-10.2 4.24M14 13v-3h-3" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="btn-refresh-label">Tout recharger</span>
|
||
</button>
|
||
<button id="abort-btn" class="btn btn-abort hidden" title="Arrêter le rafraîchissement en cours">
|
||
✕ Arrêter
|
||
</button>
|
||
<button id="clear-cache-btn" class="btn btn-subtle" title="Vider le cache du jour affiché">
|
||
Vider cache
|
||
</button>
|
||
<button id="theme-toggle" class="btn btn-icon" title="Changer de thème" aria-label="Changer de thème">
|
||
<span id="theme-icon">🌙</span>
|
||
</button>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- Bannière session expirée (non bloquante, apparaît en haut du contenu) -->
|
||
<div id="session-expired-banner" class="session-banner hidden">
|
||
<span class="session-banner-icon">⚠</span>
|
||
<span class="session-banner-text">
|
||
<strong>Session EasyVista expirée.</strong>
|
||
Les mises à jour sont interrompues. Reconnecte-toi à EasyVista, puis clique sur <b>Total</b> pour rafraîchir.
|
||
</span>
|
||
<button id="session-banner-reconnect" class="btn btn-primary btn-sm">Ouvrir EasyVista</button>
|
||
<button id="session-banner-close" class="btn btn-icon" title="Masquer">×</button>
|
||
</div>
|
||
|
||
<!-- Barre de progression (visible uniquement pendant un refresh actif) -->
|
||
<div id="progress-bar" class="progress-bar hidden">
|
||
<div class="progress-bar-fill" id="progress-bar-fill"></div>
|
||
<span class="progress-bar-label" id="progress-bar-label"></span>
|
||
</div>
|
||
|
||
<main id="main">
|
||
<div id="error-box" class="error-box hidden"></div>
|
||
<div id="session-needed" class="session-needed hidden">
|
||
<h2>Connexion à EasyVista requise</h2>
|
||
<p>Cette extension doit se connecter à <code>itsma.etat-de-vaud.ch</code> pour fonctionner.</p>
|
||
<p>Ouvre EasyVista dans un onglet, connecte-toi, puis <b>reclique sur l'icône de l'extension</b>.</p>
|
||
<button id="open-ev-btn" class="btn btn-primary">Ouvrir EasyVista</button>
|
||
</div>
|
||
<div id="loading" class="loading">Chargement…</div>
|
||
<div id="stats" class="stats hidden"></div>
|
||
<div id="cards" class="cards"></div>
|
||
</main>
|
||
|
||
<div id="tooltip" class="tooltip hidden" role="tooltip"></div>
|
||
|
||
<!-- Conteneur des toasts (notifications d'ouverture) -->
|
||
<div id="toast-stack" class="toast-stack" aria-live="polite"></div>
|
||
|
||
<script src="viewer.js"></script>
|
||
</body>
|
||
</html>
|