From 0700f65485753cf77b838fb3c505e4596dd99143 Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Sat, 9 May 2026 15:48:26 +0200 Subject: [PATCH] feat(admin): index.vue als quick-link-dashboard (Phase 2 done) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 2-pending-Liste durch 4 NuxtLink-Cards ersetzt → tap navigiert direkt zur jeweiligen page. Plus separater Stats-Quick-Link unten. Pages-content unangetastet, nur dashboard refresh. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/admin/pages/index.vue | 86 +++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 33 deletions(-) diff --git a/apps/admin/pages/index.vue b/apps/admin/pages/index.vue index 693ce22..23e1643 100644 --- a/apps/admin/pages/index.vue +++ b/apps/admin/pages/index.vue @@ -3,43 +3,39 @@

Dashboard

rebreak Admin -- internes Verwaltungspanel

- +
-
{{ card.label }}

{{ card.value }}

-
+

{{ card.hint }}

+
- -
-

Phase 2 -- ausstehende Features

-
    -
  • - - Domain-Approval-Queue (wartende Anfragen) -
  • -
  • - - User-Liste mit Plan-Status + letztem Login -
  • -
  • - - SOS-Session-Statistiken (aggregiert, anonym) -
  • -
  • - - Content-Moderation-Queue (gemeldete Nachrichten) -
  • -
-
+ + +
+ +
+

Vollständige Statistiken

+

+ Aggregierte User/Posts/Domain-Stats mit Auto-Refresh +

+
+ +
+
@@ -49,11 +45,35 @@ definePageMeta({ middleware: "admin-auth", }) -// Placeholder-Werte -- Phase 2 ersetzt mit echten API-Calls gegen backend /api/admin/* -const statCards = [ - { label: "Aktive User (30d)", value: "—", icon: "heroicons:users" }, - { label: "SOS-Sessions heute", value: "—", icon: "heroicons:chat-bubble-left-ellipsis" }, - { label: "Domains pending", value: "—", icon: "heroicons:globe-alt" }, - { label: "Free / Pro / Legend", value: "—", icon: "heroicons:star" }, +// Quick-Links als statische Cards — echte Stats-page übernimmt Live-Werte +const quickLinks = [ + { + label: "Domain-Approval", + value: "→", + hint: "Pending submissions prüfen", + icon: "heroicons:globe-alt", + to: "/domains", + }, + { + label: "User-Verwaltung", + value: "→", + hint: "Plan/Ban/Soft-Delete", + icon: "heroicons:users", + to: "/users", + }, + { + label: "Statistiken", + value: "→", + hint: "Aktive User, Posts, Domains", + icon: "heroicons:chart-bar", + to: "/stats", + }, + { + label: "Moderation", + value: "→", + hint: "Reported content queue", + icon: "heroicons:flag", + to: "/moderation", + }, ]