Files
server/resources/views/client/dashboard.php
Halbe Bruno f37bc712e6 DNSBlock
2025-12-05 19:40:39 -03:00

118 lines
6.5 KiB
PHP

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<!-- Card 1 -->
<div class="bg-white rounded-xl shadow-sm p-6 border border-gray-100 hover:shadow-md transition-shadow">
<div class="flex items-center">
<div class="p-3 rounded-full bg-blue-50 text-blue-600">
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01">
</path>
</svg>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-gray-500">Meus Servidores</p>
<p class="text-2xl font-bold text-gray-900"><?= $stats['my_servers'] ?? 0 ?></p>
</div>
</div>
</div>
<!-- Card 2 -->
<div class="bg-white rounded-xl shadow-sm p-6 border border-gray-100 hover:shadow-md transition-shadow">
<div class="flex items-center">
<div class="p-3 rounded-full bg-green-50 text-green-600">
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-gray-500">Servidores Ativos</p>
<p class="text-2xl font-bold text-gray-900"><?= $stats['active_servers'] ?? 0 ?></p>
</div>
</div>
</div>
<!-- Card 3 -->
<div class="bg-white rounded-xl shadow-sm p-6 border border-gray-100 hover:shadow-md transition-shadow">
<div class="flex items-center">
<div class="p-3 rounded-full bg-red-50 text-red-600">
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z">
</path>
</svg>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-gray-500">Domínios Bloqueados</p>
<p class="text-2xl font-bold text-gray-900"><?= $stats['total_blocked'] ?? 0 ?></p>
</div>
</div>
</div>
<!-- Card 4 -->
<div class="bg-white rounded-xl shadow-sm p-6 border border-gray-100 hover:shadow-md transition-shadow">
<div class="flex items-center">
<div class="p-3 rounded-full bg-purple-50 text-purple-600">
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z">
</path>
</svg>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-gray-500">Ordens Recentes</p>
<p class="text-2xl font-bold text-gray-900"><?= $stats['recent_orders'] ?? 0 ?></p>
</div>
</div>
</div>
</div>
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
<div class="px-6 py-4 border-b border-gray-100 flex justify-between items-center">
<h3 class="text-lg font-semibold text-gray-800">Últimas ordens de bloqueio</h3>
<a href="/client/orders" class="text-primary-600 hover:text-primary-700 text-sm font-medium">Ver todas</a>
</div>
<div class="overflow-x-auto">
<table class="w-full">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">ID</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Título
</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tipo</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Início do
Bloqueio</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ações
</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-100">
<?php if (!empty($recent_orders)): ?>
<?php foreach ($recent_orders as $order): ?>
<tr class="hover:bg-gray-50 transition-colors">
<td class="px-6 py-4 text-sm text-gray-500"><?= $order['id'] ?></td>
<td class="px-6 py-4 text-sm font-medium text-gray-900"><?= htmlspecialchars($order['title']) ?>
</td>
<td class="px-6 py-4 text-sm">
<span
class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full <?= $order['type'] == 'block' ? 'bg-red-100 text-red-800' : 'bg-green-100 text-green-800' ?>">
<?= $order['type'] == 'block' ? 'Bloqueio' : 'Desbloqueio' ?>
</span>
</td>
<td class="px-6 py-4 text-sm text-gray-500"><?= date('d/m/Y', strtotime($order['received_at'])) ?>
</td>
<td class="px-6 py-4 text-sm font-medium">
<a href="/client/orders/view/<?= $order['id'] ?>"
class="text-primary-600 hover:text-primary-900 hover:underline">Ver Detalhes</a>
</td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="5" class="px-6 py-4 text-center text-gray-500">Nenhuma ordem registrada.</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>