@@ -30,39 +30,43 @@ export const StrategyCard: React.FC<StrategyCardProps> = ({
3030
3131 return (
3232 < div className = { `
33- glass-card relative overflow-hidden rounded-2xl p-5 transition-all duration-300 group
34- hover:border-gold-500/30 hover:-translate-y-1
33+ glass-card relative overflow-hidden rounded-2xl p-6 transition-all duration-300 group
34+ hover:border-gold-500/50 hover:shadow-[0_0_40px_-10px_rgba(234,179,8,0.2)] hover:-translate-y-1
35+ bg-slate-900/40 backdrop-blur-xl border border-white/10
3536 ` } >
37+ { /* Top Shine */ }
38+ < div className = "absolute top-0 left-0 right-0 h-[1px] bg-gradient-to-r from-transparent via-white/10 to-transparent opacity-100 group-hover:via-gold-400/50 transition-all duration-500" />
39+
3640 { /* Background Glow Effect */ }
37- < div className = { `absolute top-0 right-0 w-32 h-32 bg-${ isCustom ? 'brand' : 'emerald' } -500/10 blur-3xl rounded-full -mr-16 -mt-16 transition-opacity opacity-40 group-hover:opacity-100` } />
41+ < div className = { `absolute top-0 right-0 w-64 h-64 bg-${ isCustom ? 'brand' : 'emerald' } -500/5 blur-[80px] rounded-full -mr-20 -mt-20 transition-all duration-500 group-hover:opacity-100 opacity-20 ` } />
3842
3943 { /* Custom Badge (Corner Position) */ }
4044 { isCustom && (
41- < div className = "absolute top-0 right-0 mt-3 mr-3 px-1.5 py-0.5 bg-brand-500 text-white text-[9px] font-bold uppercase tracking-wider rounded shadow-lg z- 20" >
45+ < div className = "absolute top-0 right-0 mt-4 mr-4 px-2 py-1 bg-brand-500 text-white text-[9px] font-bold uppercase tracking-wider rounded-lg shadow-lg shadow-brand-500/30 z-20 ring-1 ring-white/ 20" >
4246 CUSTOM
4347 </ div >
4448 ) }
4549
46- < div className = "flex justify-between items-start mb-4 relative z-10" >
47- < div className = "space-y-2 " >
50+ < div className = "flex justify-between items-start mb-6 relative z-10" >
51+ < div className = "space-y-3 " >
4852 { /* Status Pill */ }
49- < div className = { `inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-[9px ] font-bold border uppercase tracking-wider shadow-sm
53+ < div className = { `inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-[10px ] font-bold border uppercase tracking-wider shadow-sm backdrop-blur-md
5054 ${ isActive
51- ? 'bg-emerald-500/10 text-emerald-400 border-emerald-500/20 shadow-emerald-500/10 '
52- : 'bg-slate-800 text-slate-400 border-slate-700'
55+ ? 'bg-emerald-500/10 text-emerald-400 border-emerald-500/20 shadow-[0_0_10px_-3px_rgba(16,185,129,0.3)] '
56+ : 'bg-slate-800/50 text-slate-400 border-slate-700/50 '
5357 }
5458 ` } >
55- < div className = { `w-1.5 h-1.5 rounded-full ${ isActive ? 'bg-emerald-400 animate-pulse' : 'bg-slate-500' } ` } />
59+ < div className = { `w-1.5 h-1.5 rounded-full ${ isActive ? 'bg-emerald-400 animate-pulse shadow-[0_0_8px_rgba(16,185,129,0.8)] ' : 'bg-slate-500' } ` } />
5660 { status }
5761 </ div >
5862
5963 { /* Title & Meta */ }
6064 < div >
61- < h3 className = "text-lg font-black text-white group-hover:text-transparent group-hover:bg-clip-text group-hover:bg-gradient-to-r group-hover:from-white group-hover:to-gold-300 transition-all leading-tight" >
65+ < h3 className = "text-xl font-black text-white group-hover:text-transparent group-hover:bg-clip-text group-hover:bg-gradient-to-r group-hover:from-white group-hover:to-gold-300 transition-all leading-tight duration-300 drop-shadow-sm " >
6266 { name }
6367 </ h3 >
64- < div className = "flex items-center gap-2 text-slate-500 text-[10px ] mt-1.5 font-medium" >
65- < span className = "px-1.5 py-0.5 bg-white/5 rounded text-slate-300 border border-white/10" > { cleanText ( timeframe ) } </ span >
68+ < div className = "flex items-center gap-2 text-slate-500 text-[11px ] mt-2 font-medium" >
69+ < span className = "px-2 py-0.5 bg-white/5 rounded-md text-slate-300 border border-white/10 font-mono " > { cleanText ( timeframe ) } </ span >
6670 < span className = "text-slate-600" > •</ span >
6771 < span className = "text-slate-400" > { cleanText ( type ) } </ span >
6872 </ div >
@@ -71,38 +75,38 @@ export const StrategyCard: React.FC<StrategyCardProps> = ({
7175
7276 { /* Type Icon */ }
7377 < div className = "flex flex-col items-end gap-2" >
74- < div className = { `p-2 rounded-xl border transition-colors ${ type === 'Trend'
75- ? 'bg-brand-500/10 border-brand-500/20 text-brand-400 group-hover:bg-brand-500/20'
76- : ( type && type . includes ( 'SOL' ) ? 'bg-brand-500/10 border-brand-500/20 text-brand-400' : 'bg-white/5 border-white/10 text-slate-400' )
78+ < div className = { `p-3 rounded-2xl border transition-all duration-300 shadow-lg ${ type === 'Trend'
79+ ? 'bg-brand-500/10 border-brand-500/20 text-brand-400 group-hover:bg-brand-500/20 group-hover:shadow-[0_0_15px_-5px_rgba(99,102,241,0.4)] '
80+ : ( type && type . includes ( 'SOL' ) ? 'bg-brand-500/10 border-brand-500/20 text-brand-400' : 'bg-white/5 border-white/10 text-slate-400 group-hover:border-white/20 ' )
7781 } `} >
78- { type === 'Trend' || name . includes ( 'Trend' ) ? < TrendingUp size = { 18 } /> : < Activity size = { 18 } /> }
82+ { type === 'Trend' || name . includes ( 'Trend' ) ? < TrendingUp size = { 20 } strokeWidth = { 2 } /> : < Activity size = { 20 } /> }
7983 </ div >
8084 </ div >
8185 </ div >
8286
83- < p className = "text-slate-400/80 text-[11px] mb-5 line-clamp-2 min-h-[2.4em ] leading-relaxed font-medium" >
87+ < p className = "text-slate-400/90 text-xs mb-6 line-clamp-2 min-h-[3em ] leading-relaxed font-medium group-hover:text-slate-300 transition-colors " >
8488 { description }
8589 </ p >
8690
8791 { /* Stats Grid */ }
88- < div className = "grid grid-cols-2 gap-2 relative z-10" >
89- < div className = "bg-[#020617]/40 rounded-xl p-3 border border-white/5 group-hover:border-white/10 transition-colors relative overflow-hidden backdrop-blur-sm " >
92+ < div className = "grid grid-cols-2 gap-3 relative z-10" >
93+ < div className = "bg-[#020617]/30 rounded-xl p-3 border border-white/5 group-hover:border-white/20 transition-all duration-300 overflow-hidden relative group/stat " >
9094 < div className = "relative z-10" >
91- < div className = "text-slate-500 text-[9px] font-bold uppercase tracking-wider mb-0.5 flex items-center gap-1" >
92- < BarChart2 className = "w-2.5 h-2.5 " /> Win Rate
95+ < div className = "text-slate-500 text-[9px] font-bold uppercase tracking-wider mb-1 flex items-center gap-1.5 " >
96+ < BarChart2 className = "w-3 h-3 group-hover/stat:text-brand-400 transition-colors " /> Win Rate
9397 </ div >
94- < div className = { `text-xl font-black font-mono tracking-tight ${ winRate >= 50 ? 'text-emerald-400' : 'text-slate-200' } ` } >
98+ < div className = { `text-2xl font-black font-mono tracking-tighter ${ winRate >= 50 ? 'text-emerald-400 drop-shadow-[0_0_8px_rgba(52,211,153,0.3)] ' : 'text-slate-200' } ` } >
9599 { winRate } %
96100 </ div >
97101 </ div >
98102 </ div >
99103
100- < div className = "bg-[#020617]/40 rounded-xl p-3 border border-white/5 group-hover:border-white/10 transition-colors relative overflow-hidden backdrop-blur-sm " >
104+ < div className = "bg-[#020617]/30 rounded-xl p-3 border border-white/5 group-hover:border-white/20 transition-all duration-300 overflow-hidden relative group/stat " >
101105 < div className = "relative z-10" >
102- < div className = "text-slate-500 text-[9px] font-bold uppercase tracking-wider mb-0.5 flex items-center gap-1" >
103- < TrendingUp className = "w-2.5 h-2.5 " /> Total PnL
106+ < div className = "text-slate-500 text-[9px] font-bold uppercase tracking-wider mb-1 flex items-center gap-1.5 " >
107+ < TrendingUp className = "w-3 h-3 group-hover/stat:text-gold-400 transition-colors " /> Total PnL
104108 </ div >
105- < div className = { `text-xl font-black font-mono tracking-tight ${ isProfitable ? 'text-emerald-400' : ( pnl < 0 ? 'text-rose-400' : 'text-slate-200' ) } ` } >
109+ < div className = { `text-2xl font-black font-mono tracking-tighter ${ isProfitable ? 'text-emerald-400 drop-shadow-[0_0_8px_rgba(52,211,153,0.3)] ' : ( pnl < 0 ? 'text-rose-400 drop-shadow-[0_0_8px_rgba(244,63,94,0.3)] ' : 'text-slate-200' ) } ` } >
106110 { pnl > 0 ? '+' : '' } { pnl } R
107111 </ div >
108112 </ div >
0 commit comments