94 lines
4.3 KiB
HTML
94 lines
4.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>PC Monitor - Dashboard</title>
|
|
<!-- Google Fonts -->
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lato:wght@400;700&family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@400;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&family=Orbitron:wght@400;500;700&family=Share+Tech+Mono&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/dashboard.css') }}">
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1 id="dashboard-title">📊 PC Monitor</h1>
|
|
<div class="header-actions">
|
|
<span id="last-update">-</span>
|
|
<a href="/admin" class="btn btn-secondary">âš™ï¸</a>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Onglets -->
|
|
<nav class="tabs-nav" id="tabs-nav" style="display: none;">
|
|
<!-- Généré dynamiquement par JS -->
|
|
</nav>
|
|
|
|
<!-- Contenu des onglets -->
|
|
<div class="tabs-content" id="tabs-content">
|
|
<!-- Généré dynamiquement par JS -->
|
|
</div>
|
|
|
|
<!-- Widget Plexamp -->
|
|
<div class="plexamp-widget" id="plexamp-widget" style="display: none;">
|
|
<div class="plexamp-artwork">
|
|
<img id="plexamp-cover" src="" alt="Album cover">
|
|
<div class="plexamp-no-music" id="plexamp-no-music">
|
|
<span>🎵</span>
|
|
<p>Aucune lecture</p>
|
|
</div>
|
|
</div>
|
|
<div class="plexamp-info">
|
|
<div class="plexamp-track">
|
|
<div class="plexamp-title" id="plexamp-title">-</div>
|
|
<div class="plexamp-artist" id="plexamp-artist">-</div>
|
|
<div class="plexamp-album" id="plexamp-album">-</div>
|
|
</div>
|
|
<div class="plexamp-progress">
|
|
<div class="plexamp-progress-bar">
|
|
<div class="plexamp-progress-fill" id="plexamp-progress-fill"></div>
|
|
</div>
|
|
<div class="plexamp-times">
|
|
<span id="plexamp-time-current">0:00</span>
|
|
<span id="plexamp-time-total">0:00</span>
|
|
</div>
|
|
</div>
|
|
<div class="plexamp-controls">
|
|
<button class="plexamp-btn" id="plexamp-prev" title="Précédent">⏮️</button>
|
|
<button class="plexamp-btn plexamp-btn-play" id="plexamp-playpause" title="Play/Pause">▶️</button>
|
|
<button class="plexamp-btn" id="plexamp-next" title="Suivant">⏭️</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Section Applications -->
|
|
<div class="apps-section" id="apps-section" style="display: none;">
|
|
<h3>🚀 Applications</h3>
|
|
<div class="apps-grid" id="apps-grid">
|
|
<!-- Généré dynamiquement par JS -->
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Message quand aucun capteur n'est configuré -->
|
|
<div id="empty-state" class="empty-state">
|
|
<div class="empty-icon">📊</div>
|
|
<h2>Aucun capteur configuré</h2>
|
|
<p>Rendez-vous dans la page d'administration pour configurer vos capteurs</p>
|
|
<a href="/admin" class="btn btn-primary">âš™ï¸ Configuration</a>
|
|
</div>
|
|
|
|
<!-- Erreur de connexion -->
|
|
<div id="error-state" class="error-state" style="display: none;">
|
|
<div class="error-icon">âš ï¸</div>
|
|
<h2>Erreur de connexion</h2>
|
|
<p id="error-message">Impossible de se connecter à LibreHardwareMonitor</p>
|
|
<button onclick="location.reload()" class="btn btn-primary">🔄 Réessayer</button>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="{{ url_for('static', filename='js/dashboard.js') }}"></script>
|
|
</body>
|
|
</html>
|