Dev nieuw

This commit is contained in:
2026-09-12 16:49:51 +02:00
parent 5e35f5152d
commit af80ffdb14
4 changed files with 170 additions and 15 deletions
+50 -2
View File
@@ -438,6 +438,7 @@ $appConfig = microsoft_get_app_config();
$companyJiraDomain = jira_get_company_domain();
$workdaySettings = get_workday_settings();
$aiSettings = get_ai_settings();
$aiUsageStats = get_ai_usage_stats();
$sessionIdleTimeout = get_session_idle_timeout();
$calendarBlockReasons = get_calendar_block_reasons();
$brainstormCategories = get_brainstorm_categories();
@@ -1539,8 +1540,7 @@ require_once __DIR__ . '/includes/header.php';
<i data-lucide="sparkles" class="w-6 h-6"></i>
</div>
<div>
<h2 class="text-lg font-bold text-slate-900 dark:text-white tracking-tight">AI & Brainstorm Co-Pilot (Google Gemini Pro)</h2>
<p class="text-xs text-slate-500 dark:text-slate-400">Intelligente assistentie voor post-it ontleding, categorisatie, ideegeneratie en slimme planning</p>
<h2 class="text-lg font-bold text-slate-900 dark:text-white tracking-tight">AI-Co-pilot</h2>
</div>
</div>
<div class="flex items-center space-x-2">
@@ -1555,6 +1555,54 @@ require_once __DIR__ . '/includes/header.php';
</div>
</div>
<!-- AI Verbruik & Statistieken Dashboard -->
<div class="p-4 rounded-2xl bg-slate-50/80 dark:bg-[#0c0f17]/90 border border-slate-200/80 dark:border-slate-800/80 space-y-3">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-2">
<i data-lucide="bar-chart-2" class="w-4 h-4 text-indigo-500"></i>
<span class="text-xs font-bold text-slate-800 dark:text-slate-200 uppercase tracking-wider">AI Verbruik</span>
</div>
<?php if (!empty($aiUsageStats['last_used_at'])): ?>
<span class="text-[11px] text-slate-400">Laatst gebruikt: <?= htmlspecialchars(date('d-m-Y H:i', strtotime($aiUsageStats['last_used_at']))) ?></span>
<?php else: ?>
<span class="text-[11px] text-slate-400 italic">Nog geen verbruik geregistreerd</span>
<?php endif; ?>
</div>
<div class="grid grid-cols-2 sm:grid-cols-4 gap-3">
<div class="p-3 rounded-xl bg-white dark:bg-slate-900 border border-slate-200/60 dark:border-slate-800 shadow-2xs">
<span class="block text-[10px] uppercase font-bold text-slate-400">Totaal Aanroepen</span>
<span class="text-lg font-black text-slate-900 dark:text-white"><?= number_format((int)($aiUsageStats['total_requests'] ?? 0), 0, ',', '.') ?></span>
</div>
<div class="p-3 rounded-xl bg-white dark:bg-slate-900 border border-slate-200/60 dark:border-slate-800 shadow-2xs">
<span class="block text-[10px] uppercase font-bold text-slate-400">Totaal Tokens</span>
<span class="text-lg font-black text-indigo-600 dark:text-indigo-400"><?= number_format((int)($aiUsageStats['total_tokens'] ?? 0), 0, ',', '.') ?></span>
</div>
<div class="p-3 rounded-xl bg-white dark:bg-slate-900 border border-slate-200/60 dark:border-slate-800 shadow-2xs">
<span class="block text-[10px] uppercase font-bold text-slate-400">Prompt / Invoer</span>
<span class="text-lg font-black text-slate-700 dark:text-slate-300"><?= number_format((int)($aiUsageStats['total_prompt_tokens'] ?? 0), 0, ',', '.') ?></span>
</div>
<div class="p-3 rounded-xl bg-white dark:bg-slate-900 border border-slate-200/60 dark:border-slate-800 shadow-2xs">
<span class="block text-[10px] uppercase font-bold text-slate-400">Output / Gegenereerd</span>
<span class="text-lg font-black text-teal-600 dark:text-teal-400"><?= number_format((int)($aiUsageStats['total_completion_tokens'] ?? 0), 0, ',', '.') ?></span>
</div>
</div>
<?php if (!empty($aiUsageStats['by_model'])): ?>
<div class="pt-2 flex flex-wrap items-center gap-2 text-[11px] border-t border-slate-200/40 dark:border-slate-800/40">
<span class="font-semibold text-slate-500 dark:text-slate-400">Per model:</span>
<?php foreach ($aiUsageStats['by_model'] as $mName => $mCount): ?>
<span class="px-2 py-0.5 rounded-md bg-white dark:bg-slate-800 text-slate-700 dark:text-slate-300 border border-slate-200 dark:border-slate-700">
<strong><?= htmlspecialchars((string)$mName) ?></strong>: <?= (int)$mCount ?>x
</span>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<!-- ZERO-DATA LEAKAGE PRIVACY FIREWALL BANNER -->
<div class="p-3.5 rounded-2xl bg-emerald-50/80 dark:bg-emerald-950/20 border border-emerald-200/80 dark:border-emerald-800/40 flex items-start space-x-3">
<div class="w-8 h-8 rounded-xl bg-emerald-100 dark:bg-emerald-900/40 text-emerald-700 dark:text-emerald-400 flex items-center justify-center flex-shrink-0 mt-0.5">