@@ -333,23 +333,38 @@ export default function RebalanceHistoryTable() {
333333 }
334334 } ;
335335
336- const getStatusVariant = ( status : string ) : "default" | "secondary" | "destructive" | "outline" => {
336+ const getStatusVariant = ( status : string ) : "default" | "secondary" | "destructive" | "outline" | undefined => {
337337 // Convert legacy status to new format for consistent variant display
338338 const normalizedStatus = convertLegacyRebalanceStatus ( status ) ;
339339
340340 switch ( normalizedStatus ) {
341341 case REBALANCE_STATUS . COMPLETED :
342- return 'default' ;
342+ return undefined ; // No variant, use className only
343343 case REBALANCE_STATUS . CANCELLED :
344344 case REBALANCE_STATUS . ERROR :
345345 return 'destructive' ;
346346 case REBALANCE_STATUS . RUNNING :
347+ return 'default' ; // Use default variant like UnifiedAnalysisHistory
347348 case REBALANCE_STATUS . PENDING :
348349 return 'secondary' ;
349350 default :
350351 return 'outline' ;
351352 }
352353 } ;
354+
355+ const getStatusClassName = ( status : string ) : string => {
356+ // Convert legacy status to new format for consistent variant display
357+ const normalizedStatus = convertLegacyRebalanceStatus ( status ) ;
358+
359+ switch ( normalizedStatus ) {
360+ case REBALANCE_STATUS . COMPLETED :
361+ return 'border border-green-500/30 bg-green-500/10 text-green-600 font-semibold hover:bg-green-500/20' ;
362+ case REBALANCE_STATUS . RUNNING :
363+ return '' ; // Let default variant handle the styling
364+ default :
365+ return '' ;
366+ }
367+ } ;
353368
354369 // Calculate completion percentage based on agent step completion
355370 const calculateAgentStepCompletion = ( rebalanceRequest : RebalanceRequest ) : number => {
@@ -542,17 +557,12 @@ export default function RebalanceHistoryTable() {
542557 < div className = "flex items-center justify-between" >
543558 < div className = "flex items-center gap-3" >
544559 < span className = "font-semibold" > Portfolio Rebalance</ span >
545- < Badge variant = { getStatusVariant ( item . status ) } >
560+ < Badge variant = { getStatusVariant ( item . status ) } className = { getStatusClassName ( item . status ) } >
546561 < span className = "flex items-center gap-1" >
547562 { getStatusIcon ( item . status ) }
548563 { item . status . replace ( '_' , ' ' ) }
549564 </ span >
550565 </ Badge >
551- { item . total_stocks > 0 && (
552- < span className = "text-sm text-muted-foreground" >
553- { item . stocks_analyzed } /{ item . total_stocks } stocks
554- </ span >
555- ) }
556566 </ div >
557567 < span className = "text-xs text-muted-foreground" >
558568 Started { formatDistanceToNow ( new Date ( item . created_at ) , { addSuffix : true } ) }
@@ -608,7 +618,7 @@ export default function RebalanceHistoryTable() {
608618 setSelectedRebalanceId ( item . id ) ;
609619 setCancelDialogOpen ( true ) ;
610620 } }
611- className = "text-red-500 hover:text-white hover:bg-red-600"
621+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
612622 disabled = { cancelling }
613623 >
614624 < StopCircle className = "h-4 w-4 mr-2" />
@@ -620,7 +630,7 @@ export default function RebalanceHistoryTable() {
620630 setSelectedRebalanceId ( item . id ) ;
621631 setDeleteDialogOpen ( true ) ;
622632 } }
623- className = "text-red-500 hover:text-white hover:bg-red-600"
633+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
624634 >
625635 < Trash2 className = "h-4 w-4 mr-2" />
626636 Delete
@@ -650,7 +660,7 @@ export default function RebalanceHistoryTable() {
650660 < div className = "flex items-center justify-between" >
651661 < div className = "flex items-center gap-3" >
652662 < span className = "font-semibold" > Portfolio Rebalance</ span >
653- < Badge variant = "default ">
663+ < Badge className = "border border-green-500/30 bg-green-500/10 text-green-600 font-semibold hover:bg-green-500/20 ">
654664 < span className = "flex items-center gap-1" >
655665 < CheckCircle className = "h-3 w-3" />
656666 Completed
@@ -700,7 +710,7 @@ export default function RebalanceHistoryTable() {
700710 setSelectedRebalanceId ( item . id ) ;
701711 setDeleteDialogOpen ( true ) ;
702712 } }
703- className = "text-red-500 hover:text-white hover:bg-red-600"
713+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
704714 >
705715 < Trash2 className = "h-4 w-4 mr-2" />
706716 Delete
@@ -776,7 +786,7 @@ export default function RebalanceHistoryTable() {
776786 setSelectedRebalanceId ( item . id ) ;
777787 setDeleteDialogOpen ( true ) ;
778788 } }
779- className = "text-red-500 hover:text-white hover:bg-red-600"
789+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
780790 >
781791 < Trash2 className = "h-4 w-4 mr-2" />
782792 Delete
@@ -813,17 +823,12 @@ export default function RebalanceHistoryTable() {
813823 < div className = "flex items-center justify-between" >
814824 < div className = "flex items-center gap-3" >
815825 < span className = "font-semibold" > Portfolio Rebalance</ span >
816- < Badge variant = { getStatusVariant ( item . status ) } >
826+ < Badge variant = { getStatusVariant ( item . status ) } className = { getStatusClassName ( item . status ) } >
817827 < span className = "flex items-center gap-1" >
818828 { getStatusIcon ( item . status ) }
819829 { getStatusDisplayText ( convertLegacyRebalanceStatus ( item . status ) ) }
820830 </ span >
821831 </ Badge >
822- { item . total_stocks > 0 && (
823- < span className = "text-sm text-muted-foreground" >
824- { item . stocks_analyzed } /{ item . total_stocks } stocks
825- </ span >
826- ) }
827832 </ div >
828833 < span className = "text-xs text-muted-foreground" >
829834 Started { formatDistanceToNow ( new Date ( item . created_at ) , { addSuffix : true } ) }
@@ -879,7 +884,7 @@ export default function RebalanceHistoryTable() {
879884 setSelectedRebalanceId ( item . id ) ;
880885 setCancelDialogOpen ( true ) ;
881886 } }
882- className = "text-red-500 hover:text-white hover:bg-red-600"
887+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
883888 disabled = { cancelling }
884889 >
885890 < StopCircle className = "h-4 w-4 mr-2" />
@@ -891,7 +896,7 @@ export default function RebalanceHistoryTable() {
891896 setSelectedRebalanceId ( item . id ) ;
892897 setDeleteDialogOpen ( true ) ;
893898 } }
894- className = "text-red-500 hover:text-white hover:bg-red-600"
899+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
895900 >
896901 < Trash2 className = "h-4 w-4 mr-2" />
897902 Delete
@@ -922,7 +927,7 @@ export default function RebalanceHistoryTable() {
922927 < div className = "flex items-center justify-between" >
923928 < div className = "flex items-center gap-3" >
924929 < span className = "font-semibold" > Portfolio Rebalance</ span >
925- < Badge variant = "default ">
930+ < Badge className = "border border-green-500/30 bg-green-500/10 text-green-600 font-semibold hover:bg-green-500/20 ">
926931 < span className = "flex items-center gap-1" >
927932 < CheckCircle className = "h-3 w-3" />
928933 Completed
@@ -972,7 +977,7 @@ export default function RebalanceHistoryTable() {
972977 setSelectedRebalanceId ( item . id ) ;
973978 setDeleteDialogOpen ( true ) ;
974979 } }
975- className = "text-red-500 hover:text-white hover:bg-red-600"
980+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
976981 >
977982 < Trash2 className = "h-4 w-4 mr-2" />
978983 Delete
@@ -1052,7 +1057,7 @@ export default function RebalanceHistoryTable() {
10521057 setSelectedRebalanceId ( item . id ) ;
10531058 setDeleteDialogOpen ( true ) ;
10541059 } }
1055- className = "text-red-500 hover:text-white hover:bg-red-600"
1060+ className = "text-red-600 dark:text-red-400 hover:bg-red- 500/10 hover:text-red-600 dark: hover:text-red-400 focus: bg-red-500/10 focus:text-red- 600 dark:focus:text-red-400 "
10561061 >
10571062 < Trash2 className = "h-4 w-4 mr-2" />
10581063 Delete
0 commit comments