index.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. require_once __DIR__ . '/auth.php';
  3. require_once __DIR__ . '/layout.php';
  4. require_admin();
  5. $pdo = get_pdo();
  6. $counts = [];
  7. foreach (['activity_groups','activities','item_groups','items','activity_item_map','selection_hashes'] as $t) {
  8. $counts[$t] = $pdo->query("SELECT COUNT(*) FROM `$t`")->fetchColumn();
  9. }
  10. admin_head('Dashboard', 'index.php');
  11. ?>
  12. <h1>Dashboard</h1>
  13. <div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;">
  14. <?php
  15. $tiles = [
  16. ['Activity Groups', $counts['activity_groups'], 'activity_groups.php', '#4fd1c5'],
  17. ['Activities', $counts['activities'], 'activities.php', '#e8c547'],
  18. ['Item Groups', $counts['item_groups'], 'item_groups.php', '#4fd1c5'],
  19. ['Items', $counts['items'], 'items.php', '#e8c547'],
  20. ['Mappings', $counts['activity_item_map'],'mappings.php', '#a78bfa'],
  21. ['Saved Lists', $counts['selection_hashes'],'#', '#7a8099'],
  22. ];
  23. foreach ($tiles as [$label, $count, $href, $color]):
  24. ?>
  25. <a href="<?= $href ?>" style="background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;text-decoration:none;display:block;transition:border-color .15s;" onmouseover="this.style.borderColor='<?= $color ?>'" onmouseout="this.style.borderColor='var(--border)'">
  26. <div style="font-size:2rem;font-family:'Bebas Neue',sans-serif;color:<?= $color ?>;line-height:1;"><?= $count ?></div>
  27. <div style="font-size:.8rem;color:var(--muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.06em;"><?= $label ?></div>
  28. </a>
  29. <?php endforeach; ?>
  30. </div>
  31. <div class="card" style="display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;">
  32. <a href="activities.php" class="btn btn-secondary">✏️ Activities</a>
  33. <a href="activity_groups.php" class="btn btn-secondary">📂 Act. Groups</a>
  34. <a href="items.php" class="btn btn-secondary">🎒 Items</a>
  35. <a href="item_groups.php" class="btn btn-secondary">📂 Item Groups</a>
  36. <a href="mappings.php" class="btn btn-secondary">🔗 Mappings</a>
  37. </div>
  38. <?php admin_foot(); ?>