@@ -44,10 +44,10 @@ export function PluginCard({
4444 key = { plugin . id }
4545 className = "flex flex-col hover:shadow-lg transition-shadow h-full"
4646 >
47- < CardHeader >
48- < div className = "flex items-start justify-between gap-2 " >
49- < CardTitle className = "text-xl " > { plugin . manifest ?. name || plugin . id } </ CardTitle >
50- < div className = "flex flex-col gap-1" >
47+ < CardHeader className = "p-5 pb-3" >
48+ < div className = "flex items-start justify-between gap-3 " >
49+ < CardTitle className = "text-lg leading-snug " > { plugin . manifest ?. name || plugin . id } </ CardTitle >
50+ < div className = "flex flex-col items-end gap-1 shrink-0 " >
5151 { plugin . manifest ?. categories && plugin . manifest . categories [ 0 ] && (
5252 < Badge variant = "secondary" className = "text-xs whitespace-nowrap" >
5353 { CATEGORY_NAMES [ plugin . manifest . categories [ 0 ] ] || plugin . manifest . categories [ 0 ] }
@@ -56,18 +56,18 @@ export function PluginCard({
5656 { getStatusBadge ( plugin ) }
5757 </ div >
5858 </ div >
59- < CardDescription className = "line-clamp-2" > { plugin . manifest ?. description || '无描述' } </ CardDescription >
59+ < CardDescription className = "line-clamp-2 text-sm leading-snug " > { plugin . manifest ?. description || '无描述' } </ CardDescription >
6060 </ CardHeader >
61- < CardContent className = "flex-1 " >
62- < div className = "space-y-3 " >
61+ < CardContent className = "px-5 pb-3 " >
62+ < div className = "space-y-2.5 " >
6363 { /* 统计信息 */ }
64- < div className = "flex items-center gap-4 text-sm text-muted-foreground" >
64+ < div className = "flex items-center gap-3 text-sm text-muted-foreground" >
6565 < div className = "flex items-center gap-1" >
66- < Download className = "h-4 w-4 " />
66+ < Download className = "h-3.5 w-3.5 " />
6767 < span > { ( pluginStats [ plugin . id ] ?. downloads ?? plugin . downloads ?? 0 ) . toLocaleString ( ) } </ span >
6868 </ div >
6969 < div className = "flex items-center gap-1" >
70- < Star className = "h-4 w-4 fill-yellow-400 text-yellow-400" />
70+ < Star className = "h-3.5 w-3.5 fill-yellow-400 text-yellow-400" />
7171 < span > { ( pluginStats [ plugin . id ] ?. rating ?? plugin . rating ?? 0 ) . toFixed ( 1 ) } </ span >
7272 </ div >
7373 </ div >
@@ -85,7 +85,7 @@ export function PluginCard({
8585 ) }
8686 </ div >
8787 { /* 版本和作者 */ }
88- < div className = "text-xs text-muted-foreground pt-2 border-t space-y-1" >
88+ < div className = "text-xs text-muted-foreground pt-2.5 border-t space-y-1" >
8989 < div > v{ plugin . manifest ?. version || 'unknown' } · { plugin . manifest ?. author ?. name || 'Unknown' } </ div >
9090 { /* 支持版本 */ }
9191 { plugin . manifest ?. host_application && (
@@ -103,7 +103,7 @@ export function PluginCard({
103103 </ div >
104104 </ div >
105105 </ CardContent >
106- < CardFooter className = "pt-4 " >
106+ < CardFooter className = "px-5 pt-2 pb-5 " >
107107 < div className = "flex items-center justify-end gap-2 w-full" >
108108 < Button
109109 variant = "outline"
@@ -169,7 +169,7 @@ export function PluginCard({
169169 ( loadProgress . stage === 'loading' || loadProgress . stage === 'success' || loadProgress . stage === 'error' ) &&
170170 loadProgress . operation !== 'fetch' &&
171171 loadProgress . plugin_id === plugin . id && (
172- < div className = "px-6 pb-4 -mt-2 " >
172+ < div className = "px-5 pb-5 -mt-1 " >
173173 < div className = { `space-y-2 p-3 rounded-lg border ${
174174 loadProgress . stage === 'success'
175175 ? 'bg-green-50 dark:bg-green-950/20 border-green-200 dark:border-green-900'
0 commit comments