feat(schema-workflow): Phase 1b — SchemaDraftDrawer with status-aware actions

This commit is contained in:
Александр Зимин
2026-05-12 11:08:31 +00:00
parent 2a3f2099e5
commit dd3a2d97e5
6 changed files with 1065 additions and 3 deletions
+106
View File
@@ -423,6 +423,59 @@ i18n
'changelog.kind.draft_changes_requested': 'Запрошены правки',
'changelog.kind.draft_publish': 'Опубликован',
'changelog.kind.draft_withdraw': 'Отозван',
// === Workflow banner: schema-draft state ===
'workflow.schemaDraft.draft': 'Черновик схемы создан',
'workflow.schemaDraft.review_pending': 'Черновик схемы на ревью',
'workflow.schemaDraft.approved': 'Черновик схемы одобрен — готов к публикации',
'workflow.schemaDraft.changes_requested': 'По черновику запрошены правки',
'workflow.schemaDraft.rejected': 'Черновик схемы отклонён',
'workflow.schemaDraft.published': 'Черновик опубликован',
'workflow.schemaDraft.withdrawn': 'Черновик отозван',
'workflow.schemaDraft.subtitle': 'от v{{fromVersion}}',
'workflow.schemaDraft.open': 'Открыть черновик',
'workflow.schemaDraft.drawerTitle': 'Черновик схемы',
'workflow.schemaDraft.empty': 'Активного черновика схемы нет.',
'workflow.schemaDraft.terminal': 'terminal',
'workflow.schemaDraft.terminalHint': 'Терминальный статус — действия недоступны.',
'workflow.schemaDraft.maker': 'Автор',
'workflow.schemaDraft.from': 'От версии',
'workflow.schemaDraft.createdAt': 'Создан',
'workflow.schemaDraft.submittedAt': 'На ревью с',
'workflow.schemaDraft.decisionAt': 'Решение',
'workflow.schemaDraft.reason': 'Причина',
'workflow.schemaDraft.decisionComment': 'Комментарий',
'workflow.schemaDraft.proposed': 'Предложенная схема',
'workflow.schemaDraft.confirmWithdraw': 'Отозвать черновик? Действие нельзя отменить.',
'workflow.schemaDraft.statusBadge.draft': 'Черновик',
'workflow.schemaDraft.statusBadge.review_pending': 'На ревью',
'workflow.schemaDraft.statusBadge.approved': 'Одобрено',
'workflow.schemaDraft.statusBadge.changes_requested': 'Запрошены правки',
'workflow.schemaDraft.statusBadge.rejected': 'Отклонён',
'workflow.schemaDraft.statusBadge.published': 'Опубликован',
'workflow.schemaDraft.statusBadge.withdrawn': 'Отозван',
'workflow.schemaDraft.comment.decision': 'Комментарий ревьюера',
'workflow.schemaDraft.comment.publish': 'Release note',
'workflow.schemaDraft.comment.note': 'Комментарий автора',
'workflow.schemaDraft.comment.decisionPlaceholder': 'Краткое обоснование решения (опционально)',
'workflow.schemaDraft.comment.publishPlaceholder': 'Что меняется в этой версии (попадёт в changelog)',
'workflow.schemaDraft.comment.notePlaceholder': 'На что обратить внимание ревьюеру',
'workflow.schemaDraft.actions.submit': 'Отправить на ревью',
'workflow.schemaDraft.actions.resubmit': 'Доработать и отправить',
'workflow.schemaDraft.actions.approve': 'Approve',
'workflow.schemaDraft.actions.requestChanges': 'Запросить правки',
'workflow.schemaDraft.actions.reject': 'Отклонить',
'workflow.schemaDraft.actions.publish': 'Опубликовать',
'workflow.schemaDraft.actions.withdraw': 'Отозвать',
'workflow.schemaDraft.toast.submitted': 'Отправлено на ревью',
'workflow.schemaDraft.toast.approve': 'Черновик одобрен',
'workflow.schemaDraft.toast.request_changes': 'Запрошены правки',
'workflow.schemaDraft.toast.reject': 'Черновик отклонён',
'workflow.schemaDraft.toast.published': 'Опубликовано v{{version}}',
'workflow.schemaDraft.toast.withdrawn': 'Черновик отозван',
'workflow.schemaDraft.toast.submitFailed': 'Не удалось отправить на ревью',
'workflow.schemaDraft.toast.decideFailed': 'Не удалось зафиксировать решение',
'workflow.schemaDraft.toast.publishFailed': 'Не удалось опубликовать',
'workflow.schemaDraft.toast.withdrawFailed': 'Не удалось отозвать',
// === Lineage (dict-relationships-v2 Phase 1) ===
'lineage.usedBy.title': 'На этот словарь ссылаются',
'lineage.usedBy.count_one': '{{count}} связь',
@@ -962,6 +1015,59 @@ i18n
'changelog.kind.draft_changes_requested': 'Changes requested',
'changelog.kind.draft_publish': 'Published',
'changelog.kind.draft_withdraw': 'Withdrawn',
// === Workflow banner: schema-draft state ===
'workflow.schemaDraft.draft': 'Schema draft created',
'workflow.schemaDraft.review_pending': 'Schema draft under review',
'workflow.schemaDraft.approved': 'Schema draft approved — ready to publish',
'workflow.schemaDraft.changes_requested': 'Changes requested on draft',
'workflow.schemaDraft.rejected': 'Schema draft rejected',
'workflow.schemaDraft.published': 'Schema draft published',
'workflow.schemaDraft.withdrawn': 'Schema draft withdrawn',
'workflow.schemaDraft.subtitle': 'from v{{fromVersion}}',
'workflow.schemaDraft.open': 'Open draft',
'workflow.schemaDraft.drawerTitle': 'Schema draft',
'workflow.schemaDraft.empty': 'No active schema draft.',
'workflow.schemaDraft.terminal': 'terminal',
'workflow.schemaDraft.terminalHint': 'Terminal status — no actions available.',
'workflow.schemaDraft.maker': 'Author',
'workflow.schemaDraft.from': 'From version',
'workflow.schemaDraft.createdAt': 'Created',
'workflow.schemaDraft.submittedAt': 'Submitted',
'workflow.schemaDraft.decisionAt': 'Decided',
'workflow.schemaDraft.reason': 'Reason',
'workflow.schemaDraft.decisionComment': 'Comment',
'workflow.schemaDraft.proposed': 'Proposed schema',
'workflow.schemaDraft.confirmWithdraw': 'Withdraw draft? This action is irreversible.',
'workflow.schemaDraft.statusBadge.draft': 'Draft',
'workflow.schemaDraft.statusBadge.review_pending': 'Review',
'workflow.schemaDraft.statusBadge.approved': 'Approved',
'workflow.schemaDraft.statusBadge.changes_requested': 'Changes requested',
'workflow.schemaDraft.statusBadge.rejected': 'Rejected',
'workflow.schemaDraft.statusBadge.published': 'Published',
'workflow.schemaDraft.statusBadge.withdrawn': 'Withdrawn',
'workflow.schemaDraft.comment.decision': 'Reviewer comment',
'workflow.schemaDraft.comment.publish': 'Release note',
'workflow.schemaDraft.comment.note': 'Author note',
'workflow.schemaDraft.comment.decisionPlaceholder': 'Brief decision rationale (optional)',
'workflow.schemaDraft.comment.publishPlaceholder': 'What this version changes (lands in changelog)',
'workflow.schemaDraft.comment.notePlaceholder': 'What to highlight for the reviewer',
'workflow.schemaDraft.actions.submit': 'Submit for review',
'workflow.schemaDraft.actions.resubmit': 'Revise & resubmit',
'workflow.schemaDraft.actions.approve': 'Approve',
'workflow.schemaDraft.actions.requestChanges': 'Request changes',
'workflow.schemaDraft.actions.reject': 'Reject',
'workflow.schemaDraft.actions.publish': 'Publish',
'workflow.schemaDraft.actions.withdraw': 'Withdraw',
'workflow.schemaDraft.toast.submitted': 'Submitted for review',
'workflow.schemaDraft.toast.approve': 'Draft approved',
'workflow.schemaDraft.toast.request_changes': 'Changes requested',
'workflow.schemaDraft.toast.reject': 'Draft rejected',
'workflow.schemaDraft.toast.published': 'Published v{{version}}',
'workflow.schemaDraft.toast.withdrawn': 'Draft withdrawn',
'workflow.schemaDraft.toast.submitFailed': 'Failed to submit for review',
'workflow.schemaDraft.toast.decideFailed': 'Failed to record decision',
'workflow.schemaDraft.toast.publishFailed': 'Failed to publish',
'workflow.schemaDraft.toast.withdrawFailed': 'Failed to withdraw',
// === Lineage (dict-relationships-v2 Phase 1) ===
'lineage.usedBy.title': 'Used by',
'lineage.usedBy.count_one': '{{count}} reference',