import type { AuditItem, CommentItem, ContentItem, NotificationItem, Speaker, UserProfile } from './types'; export const demoCategories = [ 'Новости', 'Статьи', 'Видео', 'Аудио', 'Графика', 'Мероприятия' ]; export const demoTags = [ 'медиапроизводство', 'интервью', 'анонс', 'образование', 'редакция', 'архив' ]; export const demoContent: ContentItem[] = [ { id: 'demo-news-1', title: 'Демо-новость о запуске медиаплатформы', lead: 'Публичная карточка показывает, как новости и статьи будут выглядеть в едином каталоге.', body: 'Это демонстрационный материал без реальных персональных данных, подразделений и брендовых материалов. Он нужен только для проверки интерфейса, поиска, фильтров и жизненного цикла публикации.', type: 'news', category: 'Новости', tags: ['медиапроизводство', 'анонс'], author: 'Демо-редакция', publishedAt: '2026-06-04', visibility: 'Публично', status: 'Опубликовано', views: 1240, imageTone: 'from-university-700 via-university-500 to-sky-300' }, { id: 'demo-video-1', title: 'Демо-видео: открытая лекция', lead: 'Видеоматериал с метаданными, статусом проверки, категорией и тегами.', body: 'В реальной системе здесь будет предпросмотр видео, CDN-ссылка, история модерации и аналитика просмотров. В прототипе используется безопасная заглушка.', type: 'video', category: 'Видео', tags: ['образование', 'архив'], author: 'Демо-медиагруппа', publishedAt: '2026-06-09', duration: '18:40', visibility: 'После входа', status: 'На проверке', views: 382, imageTone: 'from-indigo-700 via-university-800 to-cyan-500' }, { id: 'demo-audio-1', title: 'Демо-аудио: выпуск университетского радио', lead: 'Аудиоконтент хранится в медиатеке и связывается с публикациями, авторами и тегами.', body: 'Этот пример показывает карточку аудио без использования реального названия передачи или записи. Права доступа и публикация управляются через роли.', type: 'audio', category: 'Аудио', tags: ['интервью', 'редакция'], author: 'Демо-редактор', publishedAt: '2026-06-11', duration: '32:10', visibility: 'Публично', status: 'Опубликовано', views: 715, imageTone: 'from-blue-950 via-blue-700 to-emerald-300' }, { id: 'demo-graphic-1', title: 'Демо-графика: афиша редакционного события', lead: 'Графические материалы можно фильтровать по типу, дате, категории и тегам.', body: 'Заглушка демонстрирует графический материал без копирования фотографий, логотипов или брендовых элементов сторонних сайтов.', type: 'graphic', category: 'Графика', tags: ['анонс', 'редакция'], author: 'Демо-дизайнер', publishedAt: '2026-06-13', visibility: 'По роли', status: 'На модерации', views: 96, imageTone: 'from-sky-400 via-blue-600 to-slate-900' }, { id: 'demo-event-1', title: 'Демо-анонс медиавстречи со спикером', lead: 'Мероприятия показаны как тип медиаконтента до подтверждения отдельной сущности Event.', body: 'В ТЗ мероприятия указаны в пользовательских функциях, но не выделены в таблице информационных объектов. Поэтому в первом прототипе они представлены как анонсы контента.', type: 'event', category: 'Мероприятия', tags: ['анонс', 'интервью'], author: 'Демо-менеджер', publishedAt: '2026-06-17', visibility: 'Публично', status: 'Черновик', views: 45, imageTone: 'from-university-900 via-violet-700 to-orange-300' }, { id: 'demo-article-1', title: 'Демо-статья о жизненном цикле материала', lead: 'Публикация проходит этапы: черновик, модерация, проверка, публикация, архив.', body: 'Материал показывает администраторские сценарии, очереди проверки, журнал действий и ограничения видимости.', type: 'article', category: 'Статьи', tags: ['медиапроизводство', 'архив'], author: 'Демо-автор', publishedAt: '2026-06-20', visibility: 'После входа', status: 'Архив', views: 531, imageTone: 'from-slate-900 via-university-800 to-sky-200' } ]; export const demoSpeakers: Speaker[] = [ { id: 'demo-speaker-1', name: 'Демо-спикер 01', role: 'Приглашенный эксперт', topics: ['медиапроизводство', 'образование'], materials: 8, subscribers: 132 }, { id: 'demo-speaker-2', name: 'Демо-спикер 02', role: 'Участник редакционного события', topics: ['интервью', 'анонс'], materials: 5, subscribers: 74 }, { id: 'demo-speaker-3', name: 'Демо-спикер 03', role: 'Автор образовательных материалов', topics: ['архив', 'редакция'], materials: 12, subscribers: 205 } ]; export const demoUser: UserProfile = { id: 'demo-user-1', name: 'Демо-администратор', login: 'demo_admin', roles: ['администратор', 'редактор'], subscriptions: ['Новости', 'Демо-спикер 01', 'медиапроизводство'] }; export const demoNotifications: NotificationItem[] = [ { id: 'demo-notification-1', title: 'Новый материал по подписке', description: 'В категории «Новости» появился демонстрационный материал.', read: false, createdAt: '2026-06-13 10:20' }, { id: 'demo-notification-2', title: 'Материал ожидает проверки', description: 'Демо-видео находится на этапе проверки перед публикацией.', read: true, createdAt: '2026-06-12 16:45' } ]; export const demoComments: CommentItem[] = [ { id: 'demo-comment-1', author: 'Демо-пользователь', text: 'Комментарий доступен только авторизованным пользователям и может проходить модерацию.', createdAt: '2026-06-13 12:00' } ]; export const demoAudit: AuditItem[] = [ { id: 'demo-audit-1', actor: 'Демо-администратор', action: 'изменил статус', target: 'Демо-видео: открытая лекция', createdAt: '2026-06-13 11:10' }, { id: 'demo-audit-2', actor: 'Демо-редактор', action: 'создал черновик', target: 'Демо-анонс медиавстречи со спикером', createdAt: '2026-06-12 15:35' } ]; export const demoUsers: UserProfile[] = [ demoUser, { id: 'demo-user-2', name: 'Демо-редактор', login: 'demo_editor', roles: ['редактор'], subscriptions: ['Видео'] }, { id: 'demo-user-3', name: 'Демо-пользователь', login: 'demo_user', roles: ['пользователь'], subscriptions: ['Аудио', 'Демо-спикер 03'] } ];