export interface DocumentItem { id: string; title: string; description: string; fileSize: string; fileType: 'pdf' | 'docx' | 'xlsx' | 'zip'; downloadUrl: string; category: string; tags?: string[]; } export const documents: DocumentItem[] = [ { id: 'doc-1', title: 'Договор на оказание юридических услуг', description: 'Типовой договор на предоставление юридических услуг для физических лиц', fileSize: '245 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/contract.pdf', category: 'Договоры', tags: ['договор', 'услуги', 'юрист', 'физические лица'] }, { id: 'doc-2', title: 'Доверенность на представление интересов', description: 'Образец доверенности для представления интересов в суде и государственных органах', fileSize: '180 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/power-of-attorney.docx', category: 'Доверенности', tags: ['доверенность', 'суд', 'представительство'] }, { id: 'doc-3', title: 'Согласие на обработку персональных данных', description: 'Форма согласия на обработку персональных данных в соответствии с ФЗ-152', fileSize: '120 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/privacy-consent.pdf', category: 'Документы', tags: ['персональные данные', 'согласие', 'фз-152'] }, { id: 'doc-4', title: 'Прайс-лист на юридические услуги 2024', description: 'Актуальные цены на все виды предоставляемых юридических услуг', fileSize: '320 КБ', fileType: 'xlsx', downloadUrl: 'https://example.com/documents/price-list.xlsx', category: 'Информация', tags: ['цены', 'стоимость', 'прайс', 'услуги'] }, { id: 'doc-5', title: 'Памятка клиента при ДТП', description: 'Пошаговая инструкция: что делать при ДТП, какие документы собирать, куда обращаться', fileSize: '1.2 МБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/dtp-memo.pdf', category: 'Памятки', tags: ['дтп', 'авария', 'инструкция', 'документы'] }, { id: 'doc-6', title: 'Заявление на обжалование постановления', description: 'Образец заявления для обжалования постановления об административном правонарушении', fileSize: '210 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/appeal-application.docx', category: 'Шаблоны', tags: ['обжалование', 'постановление', 'заявление'] }, { id: 'doc-7', title: 'Акт выполненных работ', description: 'Унифицированная форма акта сдачи-приёмки выполненных работ', fileSize: '150 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/work-act.docx', category: 'Договоры', tags: ['акт', 'работы', 'сдача'] }, { id: 'doc-8', title: 'Реквизиты компании', description: 'Полные реквизиты для оплаты юридических услуг', fileSize: '95 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/details.pdf', category: 'Информация', tags: ['реквизиты', 'оплата', 'банк'] }, { id: 'doc-9', title: 'Жалоба в ГИБДД', description: 'Образец жалобы на неправомерные действия сотрудников ГИБДД', fileSize: '190 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/gibdd-complaint.docx', category: 'Шаблоны', tags: ['жалоба', 'гибдд', 'неправомерные действия'] }, { id: 'doc-10', title: 'Памятка при лишении прав', description: 'Что делать если вас лишают водительских прав: порядок действий и сроки', fileSize: '980 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/license-revocation-memo.pdf', category: 'Памятки', tags: ['лишение прав', 'порядок действий', 'сроки'] }, { id: 'doc-11', title: 'Договор на ведение дела в суде', description: 'Договор на представительство в судебных органах по гражданским делам', fileSize: '280 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/court-contract.pdf', category: 'Договоры', tags: ['суд', 'представительство', 'гражданское дело'] }, { id: 'doc-12', title: 'Заявление в страховую компанию', description: 'Образец заявления на получение выплаты по ОСАГО/КАСКО', fileSize: '200 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/insurance-application.docx', category: 'Шаблоны', tags: ['страховая', 'осаго', 'каско', 'выплата'] }, { id: 'doc-13', title: 'Доверенность на получение ТС', description: 'Доверенность на получение транспортного средства из сервисного центра', fileSize: '165 КБ', fileType: 'docx', downloadUrl: 'https://example.com/documents/vehicle-power-of-attorney.docx', category: 'Доверенности', tags: ['автомобиль', 'получение', 'сервис'] }, { id: 'doc-14', title: 'Список документов для обращения в суд', description: 'Перечень необходимых документов для подачи искового заявления', fileSize: '140 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/court-docs-list.pdf', category: 'Памятки', tags: ['суд', 'иск', 'документы', 'перечень'] }, { id: 'doc-15', title: 'Соглашение о конфиденциальности', description: 'Документ о неразглашении информации, полученной в ходе оказания юридических услуг', fileSize: '130 КБ', fileType: 'pdf', downloadUrl: 'https://example.com/documents/nda-agreement.pdf', category: 'Документы', tags: ['конфиденциальность', 'ndа', 'разглашение'] }, { id: 'doc-16', title: 'Архив шаблонов документов', description: 'Полный архив всех шаблонов документов в формате ZIP', fileSize: '4.5 МБ', fileType: 'zip', downloadUrl: 'https://example.com/documents/all-templates.zip', category: 'Шаблоны', tags: ['архив', 'шаблоны', 'все документы'] } ]; export const DOCUMENTS_PER_PAGE = 6; export function getCategories(): string[] { return ['Все', ...Array.from(new Set(documents.map(doc => doc.category)))]; } export function filterByCategory(category: string): DocumentItem[] { if (category === 'Все') return documents; return documents.filter(doc => doc.category === category); } export function searchDocuments(query: string): DocumentItem[] { const trimmed = query.trim().toLowerCase(); if (trimmed.length < 2) return []; return documents.filter(doc => doc.title.toLowerCase().includes(trimmed) || doc.description.toLowerCase().includes(trimmed) || doc.category.toLowerCase().includes(trimmed) || (doc.tags && doc.tags.some(tag => tag.toLowerCase().includes(trimmed))) ); }