@@ -33,19 +33,6 @@ export function ReportListRow({
3333 } ,
3434 ) ;
3535
36- const isStrongSignal = report . total_weight >= 65 || report . signal_count >= 20 ;
37- const isMediumSignal = report . total_weight >= 30 || report . signal_count >= 6 ;
38- const strengthColor = isStrongSignal
39- ? "var(--green-9)"
40- : isMediumSignal
41- ? "var(--yellow-9)"
42- : "var(--gray-8)" ;
43- const strengthLabel = isStrongSignal
44- ? "strong"
45- : isMediumSignal
46- ? "medium"
47- : "light" ;
48-
4936 const isReady = report . status === "ready" ;
5037
5138 const isInteractiveTarget = ( target : EventTarget | null ) : boolean => {
@@ -67,6 +54,14 @@ export function ReportListRow({
6754 onToggleChecked ( ) ;
6855 } ;
6956
57+ const rowBgClass = isSelected
58+ ? "bg-gray-3"
59+ : isChecked
60+ ? "bg-gray-2"
61+ : report . is_suggested_reviewer
62+ ? "bg-blue-2"
63+ : "" ;
64+
7065 return (
7166 < motion . div
7267 role = "button"
@@ -96,23 +91,21 @@ export function ReportListRow({
9691 handleToggleChecked ( e ) ;
9792 }
9893 } }
99- className = "w-full cursor-pointer overflow-hidden border-gray-5 border-b py-2 pr-3 pl-2 text-left transition-colors hover:bg-gray-2"
100- style = { {
101- backgroundColor : isSelected
102- ? "var(--gray-3)"
103- : isChecked
104- ? "var(--gray-2)"
105- : report . is_suggested_reviewer
106- ? "var(--blue-2)"
107- : "transparent" ,
108- } }
94+ className = { [
95+ "relative isolate w-full cursor-pointer overflow-hidden border-gray-5 border-b py-2 pr-3 pl-2 text-left" ,
96+ "before:pointer-events-none before:absolute before:inset-0 before:z-[1] before:bg-gray-12 before:opacity-0 hover:before:opacity-[0.07]" ,
97+ rowBgClass ,
98+ ]
99+ . filter ( Boolean )
100+ . join ( " " ) }
109101 >
110- < Flex align = "start" justify = "between" gap = "3" >
102+ < Flex align = "start" justify = "between" gap = "3" className = "relative z-[2]" >
111103 < Flex align = "start" gap = "2" style = { { minWidth : 0 , flex : 1 } } >
112104 < Flex align = "center" justify = "center" className = "shrink-0 pt-0.5" >
113105 < Checkbox
114106 size = "1"
115107 checked = { isChecked }
108+ className = "mt-0.5"
116109 tabIndex = { - 1 }
117110 onMouseDown = { ( e ) => {
118111 e . preventDefault ( ) ;
@@ -129,16 +122,16 @@ export function ReportListRow({
129122 />
130123 </ Flex >
131124
132- < Flex direction = "column" gap = "1 " style = { { minWidth : 0 , flex : 1 } } >
125+ < Flex direction = "column" gap = "0.5 " style = { { minWidth : 0 , flex : 1 } } >
133126 < Flex align = "start" gapX = "2" className = "min-w-0" >
134- < Flex
135- direction = "column"
136- align = "center "
137- gap = "0.5 "
138- className = "shrink-0 pt-1 "
139- >
140- { ( report . source_products ?? [ ] ) . length > 0 ? (
141- ( report . source_products ?? [ ] ) . map ( ( sp ) => {
127+ { ( report . source_products ?? [ ] ) . length > 0 && (
128+ < Flex
129+ direction = "column "
130+ align = "center "
131+ gap = "0.5 "
132+ className = "shrink-0 pt-1"
133+ >
134+ { ( report . source_products ?? [ ] ) . map ( ( sp ) => {
142135 const meta = SOURCE_PRODUCT_META [ sp ] ;
143136 if ( ! meta ) return null ;
144137 const { Icon } = meta ;
@@ -147,16 +140,9 @@ export function ReportListRow({
147140 < Icon size = { 12 } />
148141 </ span >
149142 ) ;
150- } )
151- ) : (
152- < span
153- title = { `Signal strength: ${ strengthLabel } ` }
154- aria-hidden
155- className = "mt-1 inline-block h-1.5 w-1.5 rounded-full"
156- style = { { backgroundColor : strengthColor } }
157- />
158- ) }
159- </ Flex >
143+ } ) }
144+ </ Flex >
145+ ) }
160146
161147 < Flex
162148 align = "center"
0 commit comments