170 lines
12 KiB
HTML
170 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Administrator Kontrollzentrum | Veritas Suite</title>
|
||
<meta name="description" content="Geschütztes Administrator-Portal der Veritas Suite: B2B-Statistiken, Benutzerverwaltung, Lizenzerstellung und Geräte-Logs.">
|
||
<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@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="styles.css">
|
||
</head>
|
||
<body class="admin-page">
|
||
|
||
<!-- Background Orbs -->
|
||
<div class="glow-orb orb-purple"></div>
|
||
<div class="glow-orb orb-cyan" style="background: radial-gradient(circle, rgba(245, 158, 11, 0.15) 0%, rgba(0, 0, 0, 0) 70%);"></div>
|
||
|
||
<!-- Header Navigation -->
|
||
<header class="navbar">
|
||
<div class="nav-container">
|
||
<a href="/" class="logo">
|
||
<div class="logo-shield" style="background: linear-gradient(135deg, #f59e0b, #b45309);">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
|
||
</div>
|
||
<div class="logo-brand">
|
||
<span class="brand-name" style="color: #fbbf24;">VERITAS ADMIN</span>
|
||
<span class="brand-tag" style="background: rgba(245, 158, 11, 0.2); color: #fef08a;">CONTROL CENTER</span>
|
||
</div>
|
||
</a>
|
||
|
||
<nav class="nav-links">
|
||
<a href="/" class="nav-item">🌐 Startseite</a>
|
||
<a href="/downloads" class="nav-item">📥 Downloads</a>
|
||
<a href="/portal" class="nav-item">👤 Kundenportal</a>
|
||
<a href="https://mail.kanjiv.at/SOGo/index/" target="_blank" class="nav-item" style="color: #38bdf8;">📧 E-Mail Dienst</a>
|
||
<a href="https://git.kanjiv.at/" target="_blank" class="nav-item" style="color: #a855f7;">🐙 Git Server</a>
|
||
<a href="/admin" class="nav-item active" style="color: #fbbf24; border-bottom: 2px solid #f59e0b;">👑 Admin-Zentrale</a>
|
||
</nav>
|
||
|
||
<div class="server-status-pill" id="status-pill">
|
||
<span class="status-indicator"></span>
|
||
<span id="status-text">Server: Verbinde...</span>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- Admin Section -->
|
||
<section class="section" style="padding-top: 7rem;">
|
||
<div class="container">
|
||
|
||
<!-- Global Alert Box -->
|
||
<div id="admin-alert" class="alert-box" style="display: none; margin-bottom: 1.5rem; padding: 12px 16px; border-radius: 8px; font-weight: 500;"></div>
|
||
|
||
<!-- STATE 1: ACCESS DENIED CARD (If not logged in as Admin in Customer Portal) -->
|
||
<div id="admin-logged-out-state" class="portal-card glass-panel" style="max-width: 520px; margin: 3rem auto; padding: 2.5rem; border-radius: 16px; border: 1px solid rgba(245, 158, 11, 0.3); background: rgba(24, 34, 53, 0.85); text-align: center;">
|
||
<div style="font-size: 3.5rem; margin-bottom: 1rem;">🔒</div>
|
||
<h2 style="color: #fbbf24; margin-bottom: 0.5rem;">Zugriff geschützt</h2>
|
||
<p style="color: #cbd5e1; font-size: 0.95rem; line-height: 1.6; margin-bottom: 1.8rem;">
|
||
Die Admin-Zentrale ist geschützt. Bitte melde dich zuerst im <strong>Kundenportal</strong> mit deinem Administrator-Konto an.
|
||
</p>
|
||
<a href="/portal" class="btn btn-glow btn-block" style="display: inline-block; background: linear-gradient(135deg, #f59e0b, #b45309); color: #fff; font-weight: 700; padding: 12px 24px; border-radius: 8px; text-decoration: none;">
|
||
👤 Zum Kundenportal & Admin-Login
|
||
</a>
|
||
</div>
|
||
|
||
<!-- STATE 2: FULL ADMIN CONTROL DASHBOARD (If logged in as Admin in Customer Portal) -->
|
||
<div id="admin-logged-in-state" style="display: none;">
|
||
|
||
<!-- Admin Header Bar -->
|
||
<div class="dash-user-bar glass-panel" style="display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-radius: 12px; background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.3); margin-bottom: 2rem;">
|
||
<div style="display: flex; align-items: center; gap: 12px;">
|
||
<span style="font-size: 2rem;">👑</span>
|
||
<div>
|
||
<span style="color: #fef08a; font-size: 0.8rem; font-weight: 700; text-transform: uppercase;">Administrator Kontrollzentrum</span>
|
||
<h3 id="admin-user-email-display" style="color: #fff; margin: 0;">admin@kanjiv.at</h3>
|
||
</div>
|
||
</div>
|
||
<button class="btn btn-outline-danger" onclick="logoutAdmin()">Admin Abmelden</button>
|
||
</div>
|
||
|
||
<!-- KPI Metrics Cards -->
|
||
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; margin-bottom: 2rem;">
|
||
<div class="glass-panel" style="padding: 1.5rem; border-radius: 12px; background: rgba(24, 34, 53, 0.7); text-align: center; border: 1px solid rgba(255,255,255,0.08);">
|
||
<span style="font-size: 2.2rem; font-weight: 800; color: #fff;" id="admin-stat-users">0</span>
|
||
<span style="display: block; color: #94a3b8; font-size: 0.85rem; margin-top: 4px;">👥 Registrierte Benutzer</span>
|
||
</div>
|
||
<div class="glass-panel" style="padding: 1.5rem; border-radius: 12px; background: rgba(24, 34, 53, 0.7); text-align: center; border: 1px solid rgba(255,255,255,0.08);">
|
||
<span style="font-size: 2.2rem; font-weight: 800; color: #38bdf8;" id="admin-stat-licenses">0</span>
|
||
<span style="display: block; color: #94a3b8; font-size: 0.85rem; margin-top: 4px;">🔑 Aktive Lizenzen</span>
|
||
</div>
|
||
<div class="glass-panel" style="padding: 1.5rem; border-radius: 12px; background: rgba(24, 34, 53, 0.7); text-align: center; border: 1px solid rgba(255,255,255,0.08);">
|
||
<span style="font-size: 2.2rem; font-weight: 800; color: #34d399;" id="admin-stat-activations">0</span>
|
||
<span style="display: block; color: #94a3b8; font-size: 0.85rem; margin-top: 4px;">⚡ Geräte-Aktivierungen</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Create License Form Card -->
|
||
<div class="glass-panel" style="padding: 1.8rem; border-radius: 14px; background: rgba(24, 34, 53, 0.8); border: 1px solid rgba(245, 158, 11, 0.3); margin-bottom: 2rem;">
|
||
<h3 style="color: #fbbf24; margin-bottom: 1rem; font-size: 1.2rem;">➕ Neue Manuelle B2B-Lizenz Erstellen</h3>
|
||
<form onsubmit="handleAdminCreateLicense(event)" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.2rem; align-items: end;">
|
||
<div class="form-group">
|
||
<label style="display: block; margin-bottom: 6px; color: #cbd5e1; font-size: 0.9rem;">Benutzer-ID (Ziel-User)</label>
|
||
<input type="number" id="admin-create-uid" value="1" required style="width: 100%; padding: 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.15); background: rgba(3, 7, 18, 0.8); color: #fff;">
|
||
</div>
|
||
<div class="form-group">
|
||
<label style="display: block; margin-bottom: 6px; color: #cbd5e1; font-size: 0.9rem;">Plan-Bezeichnung</label>
|
||
<select id="admin-create-plan" style="width: 100%; padding: 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.15); background: rgba(3, 7, 18, 0.8); color: #fff;">
|
||
<option value="Veritas Suite Pro">Veritas Suite Pro (5 Geräte)</option>
|
||
<option value="Veritas Enterprise Forensics">Veritas Enterprise Forensics (25 Geräte)</option>
|
||
<option value="Veritas Ultimate Care">Veritas Ultimate Care (10 Geräte)</option>
|
||
</select>
|
||
</div>
|
||
<div class="form-group">
|
||
<label style="display: block; margin-bottom: 6px; color: #cbd5e1; font-size: 0.9rem;">Max Geräte-Slots</label>
|
||
<input type="number" id="admin-create-max" value="5" required style="width: 100%; padding: 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.15); background: rgba(3, 7, 18, 0.8); color: #fff;">
|
||
</div>
|
||
<div class="form-group">
|
||
<button type="submit" class="btn btn-emerald" style="width: 100%; padding: 10px;">🔑 Lizenz Schlüssel Generieren</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
|
||
<!-- Admin System Licenses Table -->
|
||
<div class="glass-panel" style="padding: 1.8rem; border-radius: 14px; background: rgba(24, 34, 53, 0.8); border: 1px solid rgba(255,255,255,0.08);">
|
||
<h3 style="color: #fff; margin-bottom: 1rem; font-size: 1.2rem;">📋 Alle Lizenzen & Sperr-Status im System</h3>
|
||
<div style="overflow-x: auto;">
|
||
<table style="width: 100%; border-collapse: collapse; text-align: left;">
|
||
<thead>
|
||
<tr style="background: rgba(3, 7, 18, 0.8); color: #94a3b8; font-size: 0.9rem;">
|
||
<th style="padding: 12px;">ID</th>
|
||
<th style="padding: 12px;">Lizenzschlüssel</th>
|
||
<th style="padding: 12px;">Kunden E-Mail</th>
|
||
<th style="padding: 12px;">Plan</th>
|
||
<th style="padding: 12px;">Geräte</th>
|
||
<th style="padding: 12px;">Status</th>
|
||
<th style="padding: 12px;">Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="admin-licenses-table-body" style="color: #cbd5e1;">
|
||
<tr><td colspan="7" style="padding: 16px; text-align: center;">Lade Systemdaten...</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Footer -->
|
||
<footer class="footer">
|
||
<div class="container footer-content">
|
||
<div class="footer-brand">
|
||
<span class="logo-shield" style="background: linear-gradient(135deg, #f59e0b, #b45309);">🛡️</span>
|
||
<span style="color: #fbbf24;">VERITAS SUITE ADMIN</span>
|
||
</div>
|
||
<p>© 2026 Veritas Suite. Geschütztes Administrator-Portal auf VPS kanjiv.at.</p>
|
||
<div class="footer-links">
|
||
<a href="/">Startseite</a>
|
||
<a href="/downloads">Downloads</a>
|
||
<a href="/portal">Kundenportal</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script src="app.js"></script>
|
||
</body>
|
||
</html>
|