From 1d0bdb92caf621e99e75112c3b4c13657270cd34 Mon Sep 17 00:00:00 2001 From: Yves Gugger Date: Thu, 18 Dec 2025 13:33:20 +0100 Subject: [PATCH] refactor: Simplify AnalyzePanel to match Hunt page style - Remove colorful section backgrounds and borders - Use monochrome, minimalist styling throughout - Remove "Show raw data" toggle from items - Compact header and score display - Simplified footer with smaller text - Consistent with Hunt pages design language --- .../src/components/analyze/AnalyzePanel.tsx | 394 ++++++------------ 1 file changed, 134 insertions(+), 260 deletions(-) diff --git a/frontend/src/components/analyze/AnalyzePanel.tsx b/frontend/src/components/analyze/AnalyzePanel.tsx index 8f0efe7..832419c 100644 --- a/frontend/src/components/analyze/AnalyzePanel.tsx +++ b/frontend/src/components/analyze/AnalyzePanel.tsx @@ -14,17 +14,11 @@ import { Check, Zap, Globe, - ChevronDown, ChevronRight, CheckCircle2, XCircle, Sparkles, - Info, Clock, - Link2, - Search, - Eye, - Filter, } from 'lucide-react' import { api } from '@/lib/api' import { useAnalyzePanelStore } from '@/lib/analyze-store' @@ -49,58 +43,54 @@ function getStatusColor(status: string) { } function getSectionConfig(key: string) { + // Minimalist monochrome style matching Hunt pages + const base = { + bg: 'bg-white/[0.02]', + border: 'border-white/[0.08]', + color: 'text-white/60' + } + switch (key) { case 'authority': return { + ...base, icon: Shield, - color: 'text-blue-400', - bg: 'bg-blue-500/10', - border: 'border-blue-500/20', - description: 'Domain age, backlink profile, and trust signals', - tooltip: 'Authority measures how established and trusted the domain is. Older domains with quality backlinks rank better.' + description: 'Age, backlinks, trust signals', + tooltip: 'Authority measures how established and trusted the domain is.' } case 'market': return { + ...base, icon: TrendingUp, - color: 'text-emerald-400', - bg: 'bg-emerald-500/10', - border: 'border-emerald-500/20', - description: 'Search demand, ad value, and TLD availability', - tooltip: 'Market data shows commercial potential. High search volume + CPC = strong buyer intent.' + description: 'Search demand, CPC, TLD availability', + tooltip: 'Market data shows commercial potential.' } case 'risk': return { + ...base, icon: AlertTriangle, - color: 'text-amber-400', - bg: 'bg-amber-500/10', - border: 'border-amber-500/20', - description: 'Trademark conflicts, blacklists, and history', - tooltip: 'Risk checks help avoid legal issues and spam penalties. Always clear before buying.' + description: 'Trademarks, blacklists, history', + tooltip: 'Risk checks help avoid legal issues.' } case 'value': return { + ...base, icon: DollarSign, - color: 'text-violet-400', - bg: 'bg-violet-500/10', - border: 'border-violet-500/20', - description: 'Estimated worth and recent comparable sales', - tooltip: 'Value estimation based on length, keywords, extension, and actual market sales.' + description: 'Estimated worth, comparable sales', + tooltip: 'Value estimation based on market data.' } case 'vision': return { + ...base, icon: Sparkles, - color: 'text-accent', - bg: 'bg-accent/10', - border: 'border-accent/20', - description: 'AI business concepts and ideal buyer profiles', - tooltip: 'AI-powered analysis suggesting business uses and potential buyers for this domain.' + color: 'text-accent', + description: 'AI business insights', + tooltip: 'AI-powered analysis for this domain.' } default: return { + ...base, icon: Globe, - color: 'text-white/50', - bg: 'bg-white/5', - border: 'border-white/10', description: '', tooltip: '' } @@ -295,22 +285,17 @@ export function AnalyzePanel() {
{/* Header */} -
+
{/* Top Bar */} -
-
-
- -
-
-
Domain Analysis
-
- {headerDomain} -
+
+
+
Analysis
+
+ {headerDomain}
-
+
- +
- {/* Score Bar */} + {/* Score Bar - Compact */} {overallScore && !loading && ( -
-
-
-
= 70 ? "border-accent bg-accent/10" : - overallScore.score >= 40 ? "border-amber-400 bg-amber-400/10" : "border-rose-500 bg-rose-500/10" - )} - title={`Health Score: ${overallScore.score}/100. ${overallScore.score >= 70 ? 'Excellent - safe to buy' : overallScore.score >= 40 ? 'Moderate - review warnings' : 'Poor - significant issues'}`} - > - = 70 ? "text-accent" : overallScore.score >= 40 ? "text-amber-400" : "text-rose-400" - )}> - {overallScore.score} - +
+
+
= 70 ? "border-accent/30 text-accent" : + overallScore.score >= 40 ? "border-amber-400/30 text-amber-400" : "border-rose-500/30 text-rose-400" + )} + > + {overallScore.score} +
+
+
+
+
+
-
-
-
Health Score
-
- {overallScore.score >= 70 ? '✓ Good to buy' : overallScore.score >= 40 ? '⚠ Review issues' : '⛔ High risk'} -
-
-
-
-
-
-
-
- - {overallScore.pass} passed - - - {overallScore.warn} warnings - - - {overallScore.fail} failed - -
+
+ {overallScore.pass} ok + {overallScore.warn} warn + {overallScore.fail} fail
)} - {/* Controls with Explanations */} -
-
- - {data?.cached && ( - - - Cached Result - + {/* Controls - Minimal */} +
+
+ > + + Fast + + {data?.cached && ( + cached + )}
@@ -479,49 +414,36 @@ export function AnalyzePanel() { return (
{/* Section Header */}