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)))
    );
}
