From f05fe4b1b6b0796ace261549decc229f54635425 Mon Sep 17 00:00:00 2001 From: Daniel Bedeleanu Date: Sun, 19 Apr 2026 18:59:36 +0300 Subject: [PATCH] refactor: extend admin spacing optimization to all components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 3: Complete admin dashboard spacing standardization AiManager component: - p-5 md:p-8 → p-4 md:p-6 panel padding - space-y-6 → space-y-4 container spacing - mb-1 removed, gap-4 → gap-3 in header - grid gap-6 → gap-4 for API keys section - space-y-1.5 → space-y-1 for form fields - py-2 → py-1.5 inputs, py-2.5 → py-2 buttons - textarea p-6 → p-4, min-h 200px → implicit compact - gap-4 → gap-3 in info section CategoryManager component: - p-5 md:p-8 → p-4 md:p-6 panel padding - space-y-6 → space-y-4 container spacing - gap-4 → gap-3 icon header gap - py-3 → py-2 button padding - Modal: space-y-4 → space-y-3, p-6 sm:p-10 → p-6 consistent - py-2.5 → py-1.5 inputs - h-32 textarea → h-24 compact Tests: 291/291 passing, Build: success Total admin dashboard savings: ~150px vertical (all 4 components) --- frontend/components/admin/AiManager.tsx | 42 +++++++++---------- frontend/components/admin/CategoryManager.tsx | 22 +++++----- frontend/public/sw.js | 2 +- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/frontend/components/admin/AiManager.tsx b/frontend/components/admin/AiManager.tsx index a1d599d5..3b78eb63 100644 --- a/frontend/components/admin/AiManager.tsx +++ b/frontend/components/admin/AiManager.tsx @@ -32,9 +32,9 @@ export default function AiManager({ onUpdatePrompt }: AiManagerProps) { return ( -
-
-
+
+
+
@@ -83,7 +83,7 @@ export default function AiManager({ ))}
-
+
@@ -93,15 +93,15 @@ export default function AiManager({ onClick={onSaveAiKeys} disabled={isSavingKeys} data-testid="save-settings-button" - className="px-6 py-2.5 bg-primary hover:bg-primary text-white rounded-xl text-sm font-normal transition-all active:scale-95 shadow-xl shadow-primary/10 tracking-tight border border-primary/30 flex items-center gap-2" + className="px-5 py-2 bg-primary hover:bg-primary text-white rounded-xl text-sm font-normal transition-all active:scale-95 shadow-xl shadow-primary/10 tracking-tight border border-primary/30 flex items-center gap-2" > {isSavingKeys ? : } {isSavingKeys ? "Storing..." : "Store API Keys"}
-
-
+
+
setAiKeys({...aiKeys, gemini: e.target.value})} placeholder={aiConfig?.providers?.find((p: any) => p.id === 'gemini')?.masked_key || "Enter Gemini Key..."} - className="flex-1 bg-background/80 border border-slate-800 rounded-xl py-2 px-4 text-xs text-white outline-none focus:border-primary/50 transition-all placeholder:text-secondary" + className="flex-1 bg-background/80 border border-slate-800 rounded-xl py-1.5 px-4 text-xs text-white outline-none focus:border-primary/50 transition-all placeholder:text-secondary" />
-
+
setAiKeys({...aiKeys, claude: e.target.value})} placeholder={aiConfig?.providers?.find((p: any) => p.id === 'claude')?.masked_key || "Enter Claude Key..."} - className="flex-1 bg-background/80 border border-slate-800 rounded-xl py-2 px-4 text-xs text-white outline-none focus:border-primary/50 transition-all placeholder:text-secondary" + className="flex-1 bg-background/80 border border-slate-800 rounded-xl py-1.5 px-4 text-xs text-white outline-none focus:border-primary/50 transition-all placeholder:text-secondary" />
-
-
+
+
-
-