feat(admin-ui): catalog refresh + token migration (Stage 3.2)
This commit is contained in:
@@ -119,7 +119,7 @@ export const CascadeConfirmDialog = ({
|
||||
{plan && (
|
||||
<>
|
||||
{/* Header summary */}
|
||||
<p className="text-sm text-carbon">
|
||||
<p className="text-sm text-ink">
|
||||
{hasBlockers
|
||||
? t('cascade.summary.blocked', {
|
||||
blockers: plan.blockers.length,
|
||||
@@ -144,16 +144,16 @@ export const CascadeConfirmDialog = ({
|
||||
<span className="font-mono">
|
||||
{b.sourceDict}/{b.businessKey}
|
||||
</span>
|
||||
<span className="text-carbon/60">.{b.sourceField}</span>
|
||||
<span className="text-mute">.{b.sourceField}</span>
|
||||
</li>
|
||||
))}
|
||||
{plan.blockers.length > 5 && (
|
||||
<li className="text-carbon/60">
|
||||
<li className="text-mute">
|
||||
{t('cascade.blockers.more', { count: plan.blockers.length - 5 })}
|
||||
</li>
|
||||
)}
|
||||
</ul>
|
||||
<p className="mt-2 text-2xs text-carbon/70">
|
||||
<p className="mt-2 text-2xs text-ink-2">
|
||||
{t('cascade.blockers.resolveFirst')}
|
||||
</p>
|
||||
</Alert>
|
||||
@@ -164,7 +164,7 @@ export const CascadeConfirmDialog = ({
|
||||
<section className="space-y-2">
|
||||
<div className="flex items-center gap-2">
|
||||
<WarningIcon weight="bold" size={14} className="text-horizon" />
|
||||
<h4 className="text-sm font-primary">
|
||||
<h4 className="text-sm font-sans">
|
||||
{t('cascade.cascade.title', { count: plan.cascade.length })}
|
||||
</h4>
|
||||
</div>
|
||||
@@ -176,13 +176,13 @@ export const CascadeConfirmDialog = ({
|
||||
return (
|
||||
<li
|
||||
key={key}
|
||||
className="border border-regolith rounded-sm px-3 py-2 text-2xs"
|
||||
className="border border-line rounded-sm px-3 py-2 text-2xs"
|
||||
>
|
||||
<div className="flex items-center gap-2 mb-1">
|
||||
<span className="font-mono text-ultramarain">
|
||||
<span className="font-mono text-accent">
|
||||
{first.sourceDisplayName ?? first.sourceDict}
|
||||
</span>
|
||||
<span className="font-mono text-carbon/70">
|
||||
<span className="font-mono text-ink-2">
|
||||
.{first.sourceField}
|
||||
</span>
|
||||
<Badge variant={onCloseVariant(first.onClose)}>
|
||||
@@ -190,14 +190,14 @@ export const CascadeConfirmDialog = ({
|
||||
</Badge>
|
||||
<Badge variant="neutral">{entries.length}</Badge>
|
||||
</div>
|
||||
<ul className="text-2xs text-carbon/70 ml-1 space-y-0.5">
|
||||
<ul className="text-2xs text-ink-2 ml-1 space-y-0.5">
|
||||
{sample.map((e) => (
|
||||
<li key={e.recordId} className="font-mono">
|
||||
· {e.businessKey}
|
||||
</li>
|
||||
))}
|
||||
{overflow > 0 && (
|
||||
<li className="text-carbon/50">
|
||||
<li className="text-mute">
|
||||
{t('cascade.cascade.more', { count: overflow })}
|
||||
</li>
|
||||
)}
|
||||
@@ -224,7 +224,7 @@ export const CascadeConfirmDialog = ({
|
||||
<div>
|
||||
<label
|
||||
htmlFor="cascade-reason"
|
||||
className="text-2xs text-carbon/70 uppercase tracking-label"
|
||||
className="text-2xs text-ink-2 uppercase tracking-[0.10em]"
|
||||
>
|
||||
{t('cascade.reason.label')}
|
||||
</label>
|
||||
@@ -242,7 +242,7 @@ export const CascadeConfirmDialog = ({
|
||||
<div>
|
||||
<label
|
||||
htmlFor="cascade-confirm"
|
||||
className="text-2xs text-carbon/70 uppercase tracking-label"
|
||||
className="text-2xs text-ink-2 uppercase tracking-[0.10em]"
|
||||
>
|
||||
{t('cascade.confirmGate.label', { word: 'CONFIRM' })}
|
||||
</label>
|
||||
@@ -264,7 +264,7 @@ export const CascadeConfirmDialog = ({
|
||||
)}
|
||||
|
||||
{/* Footer actions */}
|
||||
<div className="flex items-center justify-end gap-2 pt-2 border-t border-regolith">
|
||||
<div className="flex items-center justify-end gap-2 pt-2 border-t border-line">
|
||||
<Button
|
||||
variant="secondary"
|
||||
onClick={onClose}
|
||||
|
||||
Reference in New Issue
Block a user