From a39b53151e36b3d6132c6251e3e38f953691aa8e Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Sat, 29 Nov 2025 23:31:25 +0000 Subject: [PATCH] Apply modern SaaS design to all admin pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modernize all admin interface pages with consistent design language: - Add hero sections with gradient backgrounds and blur effects - Implement modern card designs with hover animations - Use gradient buttons with shadow effects - Add emoji icons in colored containers - Apply consistent color themes per page - Enhance user experience with smooth transitions Pages updated: - /admin/devices (purple theme) - /admin/mqtt (cyan/blue theme) - /admin/setup (emerald theme) - /admin/users (violet theme) - /admin/settings (indigo theme) - /admin/emails (pink/rose theme) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app/admin/devices/page.tsx | 72 ++++++------ app/admin/emails/page.tsx | 68 ++++++++---- app/admin/mqtt/page.tsx | 214 ++++++++++++++++++++++-------------- app/admin/settings/page.tsx | 63 +++++++---- app/admin/setup/page.tsx | 111 ++++++++++++------- app/admin/users/page.tsx | 107 ++++++++++-------- 6 files changed, 392 insertions(+), 243 deletions(-) diff --git a/app/admin/devices/page.tsx b/app/admin/devices/page.tsx index 3536885..401ce9a 100644 --- a/app/admin/devices/page.tsx +++ b/app/admin/devices/page.tsx @@ -190,28 +190,35 @@ export default function DevicesPage() { } return ( -
- {/* Header */} -
-
-

Device Management

- {!isAdmin && ( -

Read-only view

+
+ {/* Hero Section with Gradient */} +
+
+
+
+
+

Device Management

+

+ {!isAdmin ? "Read-only view" : "Verwalte deine Tracking-Geräte"} +

+
+ {isAdmin && ( + )}
- {isAdmin && ( - - )}
{error && ( -
- {error} +
+
+ ⚠️ + {error} +
)} @@ -228,32 +235,33 @@ export default function DevicesPage() { return (
+
+
📱
-

+

{device.name}

-

ID: {device.id}

+

ID: {device.id}

- {isRecent ? "Online" : "Offline"} + {isRecent ? "🟢 Online" : "⚫ Offline"}
@@ -262,7 +270,7 @@ export default function DevicesPage() { )} {device.latestLocation && ( -
+
🕒 @@ -322,13 +330,13 @@ export default function DevicesPage() {
@@ -340,8 +348,10 @@ export default function DevicesPage() {
{devices.length === 0 && ( -
- No devices found. Add a device to get started. +
+
📱
+

Keine Devices gefunden

+

Füge dein erstes Device hinzu, um zu starten.

)} diff --git a/app/admin/emails/page.tsx b/app/admin/emails/page.tsx index ff63181..84cbb11 100644 --- a/app/admin/emails/page.tsx +++ b/app/admin/emails/page.tsx @@ -48,28 +48,42 @@ export default function EmailsPage() { const previewUrl = `/api/admin/emails/preview?template=${selectedTemplate}`; return ( -
-

Email Templates

+
+ {/* Hero Section with Gradient */} +
+
+
+
+

Email Templates

+

Verwalte und teste E-Mail-Vorlagen

+
+
{/* Status Message */} {message && (
- {message.text} + {message.type === 'success' ? '✓' : '⚠️'} + {message.text}
)}
{/* Template List */} -
-
-
-

Templates

+
+
+
+
+
+ 📧 +
+

Templates

+
@@ -77,16 +91,16 @@ export default function EmailsPage() {
{/* Preview */}
-
-
-

Preview

- - {EMAIL_TEMPLATES.find(t => t.name === selectedTemplate)?.subject} - +
+
+
+
+
+ 👁️ +
+

Preview

+
+ + {EMAIL_TEMPLATES.find(t => t.name === selectedTemplate)?.subject} + +