refactor(web): migrate feature screens to design tokens + radius token (#49)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 14:15:54 +02:00
parent 04ed0c50e2
commit cde7be9f2a
24 changed files with 90 additions and 90 deletions
+5 -5
View File
@@ -122,7 +122,7 @@ export function FieldForm({
value={dataType}
disabled={isEdit}
onChange={(e) => setDataType(e.target.value)}
className="w-full rounded border px-2 py-1 text-sm disabled:opacity-60"
className="w-full rounded-md border px-2 py-1 text-sm disabled:opacity-60"
>
{TYPES.map((type) => (
<option key={type} value={type}>
@@ -140,7 +140,7 @@ export function FieldForm({
value={vocabularyId}
disabled={isEdit}
onChange={(e) => setVocabularyId(e.target.value)}
className="w-full rounded border px-2 py-1 text-sm disabled:opacity-60"
className="w-full rounded-md border px-2 py-1 text-sm disabled:opacity-60"
>
<option value="">{t("form.selectPlaceholder")}</option>
{vocabularies?.map((vocab) => (
@@ -160,7 +160,7 @@ export function FieldForm({
value={authorityKind}
disabled={isEdit}
onChange={(e) => setAuthorityKind(e.target.value)}
className="w-full rounded border px-2 py-1 text-sm disabled:opacity-60"
className="w-full rounded-md border px-2 py-1 text-sm disabled:opacity-60"
>
<option value="">{t("fields.anyKind")}</option>
{KINDS.map((kind) => (
@@ -183,12 +183,12 @@ export function FieldForm({
</label>
{error && (
<p role="alert" className="text-xs text-red-600">
<p role="alert" className="text-xs text-destructive">
{t("form.required")}
</p>
)}
{failed && (
<p role="alert" className="text-xs text-red-600">
<p role="alert" className="text-xs text-destructive">
{t("form.rejected")}
</p>
)}
+7 -7
View File
@@ -30,9 +30,9 @@ export function FieldList({
);
}
if (isError) return <p className="p-4 text-sm text-red-600">{t("fields.loadError")}</p>;
if (isError) return <p className="p-4 text-sm text-destructive">{t("fields.loadError")}</p>;
if (!data || data.length === 0)
return <p className="p-4 text-sm text-neutral-500">{t("fields.empty")}</p>;
return <p className="p-4 text-sm text-muted-foreground">{t("fields.empty")}</p>;
const groups = new Map<string, FieldDefinitionView[]>();
@@ -53,7 +53,7 @@ export function FieldList({
<ul className="overflow-auto">
{entries.map(([group, defs]) => (
<li key={group}>
<div className="border-b bg-neutral-50 px-3 py-1 text-xs font-medium uppercase tracking-wide text-neutral-500">
<div className="border-b bg-muted px-3 py-1 label-caption">
{group}
</div>
<ul>
@@ -61,7 +61,7 @@ export function FieldList({
<li
key={def.key}
className={`flex items-center gap-2 border-b px-3 py-2 text-sm ${
def.key === selectedKey ? "bg-indigo-50" : ""
def.key === selectedKey ? "bg-primary/10" : ""
}`}
>
<button
@@ -71,13 +71,13 @@ export function FieldList({
onClick={() => onSelect(def)}
>
<span className="font-medium">{labelText(def.labels, lang)}</span>
<span className="text-xs text-neutral-400">{def.key}</span>
<span className="rounded bg-neutral-100 px-1.5 py-0.5 text-xs text-neutral-600">
<span className="text-xs text-muted-foreground">{def.key}</span>
<span className="rounded-md bg-muted px-1.5 py-0.5 text-xs text-muted-foreground">
{t(`fields.types.${def.data_type}`)}
</span>
{def.required && (
<span
className="text-xs text-red-600"
className="text-xs text-destructive"
title={t("fields.required")}
aria-label={t("fields.required")}
>