refactor(web): 采用 Button/Card 原语替换多处手搓样式

This commit is contained in:
Yaojia Wang
2026-06-29 16:52:43 +02:00
parent 47eb42f274
commit d7fcb8a329
12 changed files with 71 additions and 44 deletions

View File

@@ -46,14 +46,15 @@ export function RefineView({
>
<div className="mb-2 flex items-center justify-between">
<h3 className="font-semibold text-ink"></h3>
<button
<Button
type="button"
variant="ghost"
size="icon"
onClick={onClose}
className="rounded border border-transparent p-1 text-ink-soft hover:border-line hover:text-cinnabar"
aria-label="关闭回炉对比"
aria-label="关闭"
>
<X className="h-4 w-4" aria-hidden="true" />
</button>
</Button>
</div>
{segment.trim().length === 0 ? (

View File

@@ -4,6 +4,7 @@ import { CheckCircle2, CircleDashed, RotateCcw } from "lucide-react";
import { Badge } from "@/components/ui/Badge";
import { Button } from "@/components/ui/Button";
import { cardClass } from "@/lib/ui/variants";
import type { StyleDriftReport, StyleDriftSegment } from "@/lib/review/sse";
interface StylePanelProps {
@@ -63,7 +64,7 @@ export function StylePanel({ style, incomplete, onRefine }: StylePanelProps) {
{style.segments.map((seg, i) => (
<li
key={i}
className="rounded border border-line bg-panel p-2"
className={cardClass("p-2")}
data-testid="drift-segment"
>
<div className="flex items-center gap-2">

View File

@@ -8,6 +8,7 @@ import { Button } from "@/components/ui/Button";
import { Field } from "@/components/ui/Field";
import { StatusNote } from "@/components/ui/StatusNote";
import { TextArea } from "@/components/ui/TextArea";
import { buttonClass } from "@/lib/ui/variants";
interface StyleUploadProps {
busy: boolean;
@@ -76,7 +77,7 @@ export function StyleUpload({
</Field>
<div className="flex items-center gap-3">
<label className="cursor-pointer rounded border border-line px-3 py-1.5 text-sm text-ink hover:border-cinnabar hover:text-cinnabar">
<label className={buttonClass({ variant: "secondary", className: "cursor-pointer" })}>
<input
type="file"