refactor(reviews): interaction state polish — 5 UX fixes

This commit is contained in:
Александр Зимин
2026-05-14 14:13:57 +00:00
parent 513b57b6b5
commit fb64ca4350
6 changed files with 188 additions and 49 deletions
@@ -206,13 +206,24 @@ export function SchemaDraftDrawer({
>
<div className="space-y-4">
{isLoading && <LoadingBlock size="md" label={t('loading')} />}
{/* QueryErrorState уже сам обрабатывает 403/404 с human messages —
больше не надо guessить здесь. Раньше один blank empty покрывал
"not loaded / not found / forbidden" одинаково. */}
{error && <QueryErrorState error={error} onRetry={() => refetch()} />}
{!isLoading && !draft && (
<p className="text-body text-mute">
{t('workflow.schemaDraft.empty', {
defaultValue: 'Активного черновика схемы нет.',
})}
</p>
{!isLoading && !error && !draft && (
<div className="flex flex-col items-center justify-center text-center py-10 px-4 gap-2 rounded-md border border-dashed border-line bg-surface-2/30">
<p className="text-body text-ink-2">
{t('workflow.schemaDraft.empty', {
defaultValue: 'Активного черновика на этом словаре нет.',
})}
</p>
<p className="text-cell text-mute max-w-md">
{t('workflow.schemaDraft.emptyHint', {
defaultValue:
'Создайте новый черновик через editor словаря — кнопка «Создать черновик схемы» появится если ваши изменения требуют ревью.',
})}
</p>
</div>
)}
{draft && (