import React from 'react'; /** * Бейдж статуса публикации проекта (умная лента — RUBLOX_SMART_FEED_PLAN.md). * Показывается рядом с названием игры в редакторе и в «Мои игры». * * Premoderации больше нет. Статусы: * draft — черновик, не опубликована; * published — в ленте, видна всем; * review — на быстрой автопроверке (скрипты ушли к админу); * blocked — заблокирована администрацией. * * Props: * status — 'draft' | 'published' | 'review' | 'blocked' * comment — комментарий администрации (для blocked) */ // Самописные inline-SVG вместо эмодзи (правило проекта — никаких смайлов в UI). const ICONS = { // Лист бумаги — черновик draft: ( ), // Галочка — опубликовано published: ( ), // Лупа — на проверке review: ( <> ), // Перечёркнутый круг — заблокировано blocked: ( <> ), }; const STATUS_META = { draft: { label: 'Черновик', bg: 'linear-gradient(135deg, #94a3b8 0%, #64748b 100%)', glow: 'rgba(100, 116, 139, 0.40)', }, published: { label: 'В ленте', bg: 'linear-gradient(135deg, #10b981 0%, #0f9d56 100%)', glow: 'rgba(16, 185, 129, 0.45)', }, review: { label: 'На проверке', bg: 'linear-gradient(135deg, #f59e0b 0%, #d97706 100%)', glow: 'rgba(245, 158, 11, 0.45)', }, blocked: { label: 'Заблокировано', bg: 'linear-gradient(135deg, #ff6f7a 0%, #c0303f 100%)', glow: 'rgba(239, 68, 68, 0.45)', }, }; const PublishStatusBadge = ({ status, comment }) => { const meta = STATUS_META[status] || STATUS_META.draft; const icon = ICONS[status] || ICONS.draft; const tip = comment ? `${meta.label}\n\nКомментарий администрации:\n${comment}` : meta.label; return (
{icon} {meta.label}
); }; export default PublishStatusBadge;