
import { Building, District, EntranceSection, User, Employee, Candidate, Vacancy, PREvent, ResidentReport, DomaApplication, ResidentFeedback, StrategicGoal, Invoice, OfficeRequest, OfficeInventoryItem, OfficeDocument, OfficeAsset, LegalContract, LegalCourtCase, LegalCounterparty, PersonalAccount, AccountMeter, MeterReading } from './types';
import { 
  LayoutDashboard, 
  Map,
  Wrench, 
  Banknote,
  Scale,
  Briefcase,
  UsersRound,
  Megaphone,
  Building2,
  Settings,
} from 'lucide-react';

export const CURRENT_USER_MOCK: User = {
  id: 'u1',
  name: 'Алексей Петров',
  role: 'DIRECTOR', 
  avatar: 'https://picsum.photos/id/1005/64/64'
};

export const MOCK_DISTRICTS: District[] = [];

export const EMPLOYEE_POSITIONS: string[] = [
  'Слесарь-сантехник',
  'Электрик',
  'Дворник',
  'Мастер участка',
  'Сантехник',
  'Сварщик',
  'Юрист по работе с дебиторской задолженностью',
  'Слесарь-сантехник (4-5 разряд)',
  'Другое'
];

export const MOCK_EMPLOYEES: Employee[] = [
  { 
    id: 'e1', 
    name: 'Иванов Иван Иванович', 
    position: 'Слесарь-сантехник', 
    phone: '+7 900 123-45-67', 
    status: 'active', 
    salary: 45000, 
    assignedDistrictId: 'd-1',
    birthDate: '1985-03-15',
    messengerLogins: [
      { messenger: 'Telegram', login: '@ivanov_ii' },
      { messenger: 'Max', login: '+7 900 123-45-67' }
    ],
    photoUrl: 'https://picsum.photos/id/64/200/200',
    registrationDate: '2020-01-15',
    hrData: {
      passportData: {
        series: '4510',
        number: '123456',
        issuedBy: 'ОУФМС России по г. Москве',
        issuedDate: '2010-05-20',
        registrationAddress: 'г. Москва, ул. Ленина, д. 10, кв. 25'
      },
      laborBook: {
        number: 'ТК-123456',
        entries: [
          { date: '2020-01-15', organization: 'ООО "УК Дружба"', position: 'Слесарь-сантехник' }
        ]
      },
      certificates: [
        { type: '2-НДФЛ', requestedDate: '2024-01-10', issuedDate: '2024-01-12', status: 'ready' },
        { type: 'Справка с места работы', requestedDate: '2024-03-05', status: 'requested' }
      ],
      otherDocuments: [
        { name: 'Договор трудового найма', type: 'Трудовой договор', date: '2020-01-15' },
        { name: 'Медицинская книжка', type: 'Мед. документ', date: '2023-06-10' }
      ]
    }
  },
  { 
    id: 'e2', 
    name: 'Петров Петр Петрович', 
    position: 'Электрик', 
    phone: '+7 900 123-45-68', 
    status: 'vacation', 
    salary: 50000, 
    assignedDistrictId: 'd-1',
    birthDate: '1988-07-22',
    messengerLogins: [
      { messenger: 'Telegram', login: '@petrov_pp' }
    ],
    registrationDate: '2019-05-10',
    hrData: {
      passportData: {
        series: '4512',
        number: '234567',
        issuedBy: 'ОУФМС России по г. Москве',
        issuedDate: '2012-08-15',
        registrationAddress: 'г. Москва, пр. Мира, д. 5, кв. 12'
      },
      laborBook: {
        number: 'ТК-234567',
        entries: [
          { date: '2019-05-10', organization: 'ООО "УК Дружба"', position: 'Электрик' }
        ]
      }
    }
  },
  { 
    id: 'e3', 
    name: 'Сидорова Анна Александровна', 
    position: 'Дворник', 
    phone: '+7 900 123-45-69', 
    status: 'active', 
    salary: 25000, 
    assignedDistrictId: 'd-2',
    birthDate: '1975-11-30',
    messengerLogins: [
      { messenger: 'Max', login: '+7 900 123-45-69' }
    ],
    photoUrl: 'https://picsum.photos/id/65/200/200',
    registrationDate: '2021-03-01',
    hrData: {
      passportData: {
        series: '4508',
        number: '345678',
        issuedBy: 'ОУФМС России по г. Москве',
        issuedDate: '2008-12-10',
        registrationAddress: 'г. Москва, ул. Заречная, д. 20, кв. 8'
      },
      laborBook: {
        number: 'ТК-345678',
        entries: [
          { date: '2021-03-01', organization: 'ООО "УК Дружба"', position: 'Дворник' }
        ]
      },
      certificates: [
        { type: 'Справка о доходах', requestedDate: '2024-05-15', status: 'requested' }
      ]
    }
  },
  { 
    id: 'e4', 
    name: 'Кузнецов Владимир Викторович', 
    position: 'Мастер участка', 
    phone: '+7 900 111-22-33', 
    status: 'active', 
    salary: 65000, 
    assignedDistrictId: 'd-1',
    birthDate: '1980-02-14',
    messengerLogins: [
      { messenger: 'Telegram', login: '@kuznetsov_vv' },
      { messenger: 'Max', login: '+7 900 111-22-33' }
    ],
    photoUrl: 'https://picsum.photos/id/66/200/200',
    registrationDate: '2018-09-01',
    hrData: {
      passportData: {
        series: '4509',
        number: '456789',
        issuedBy: 'ОУФМС России по г. Москве',
        issuedDate: '2009-03-25',
        registrationAddress: 'г. Москва, ул. Центральная, д. 15, кв. 45'
      },
      laborBook: {
        number: 'ТК-456789',
        entries: [
          { date: '2018-09-01', organization: 'ООО "УК Дружба"', position: 'Мастер участка' },
          { date: '2015-01-10', organization: 'ООО "СтройСервис"', position: 'Мастер' }
        ]
      },
      certificates: [
        { type: '2-НДФЛ', requestedDate: '2024-01-10', issuedDate: '2024-01-12', status: 'ready' }
      ]
    }
  },
  { 
    id: 'e5', 
    name: 'Степанов Сергей Сергеевич', 
    position: 'Сантехник', 
    phone: '+7 900 444-55-66', 
    status: 'active', 
    salary: 42000, 
    assignedDistrictId: 'd-2',
    birthDate: '1990-09-05',
    messengerLogins: [
      { messenger: 'Telegram', login: '@stepanov_ss' }
    ],
    registrationDate: '2022-06-15',
    hrData: {
      passportData: {
        series: '4511',
        number: '567890',
        issuedBy: 'ОУФМС России по г. Москве',
        issuedDate: '2011-11-18',
        registrationAddress: 'г. Москва, ул. Новая, д. 8, кв. 15'
      },
      laborBook: {
        number: 'ТК-567890',
        entries: [
          { date: '2022-06-15', organization: 'ООО "УК Дружба"', position: 'Сантехник' }
        ]
      }
    }
  },
];

export const MOCK_CANDIDATES: Candidate[] = [
  { id: 'c1', name: 'Новиков Д.Д.', position: 'Мастер участка', stage: 'interview', phone: '+7 999 000-00-01' },
  { id: 'c2', name: 'Козлов Е.Е.', position: 'Сварщик', stage: 'new', phone: '+7 999 000-00-02' },
];

export const MOCK_VACANCIES: Vacancy[] = [
  { id: 'v1', position: 'Слесарь-сантехник (4-5 разряд)', department: 'Тех. отдел', status: 'urgent', salary: '55 000 - 65 000 ₽', applicantsCount: 3, postedDate: '2024-05-10', description: 'Техническое обслуживание внутридомовых инженерных систем ГВС, ХВС, отопления и канализации.' },
  { id: 'v2', position: 'Мастер участка', department: 'Эксплуатация', status: 'active', salary: '70 000 ₽', applicantsCount: 12, postedDate: '2024-05-15', description: 'Организация и контроль работы линейного персонала на вверенном участке (8-10 МКД).' },
  { id: 'v3', position: 'Юрист по работе с дебиторской задолженностью', department: 'Юр. отдел', status: 'active', salary: '60 000 ₽', applicantsCount: 8, postedDate: '2024-05-20', description: 'Подготовка приказов, исковых заявлений, представление интересов УК в судах и ФССП.' },
];

export const MOCK_PR_EVENTS: PREvent[] = [
    { id: 'ev1', title: 'День Соседа (Гриль-вечеринка)', date: '2024-06-15', type: 'resident', category: 'holiday', status: 'planned', location: 'ул. Ленина, д.12 (двор)', attendeesCount: 0, budget: 15000 },
    { id: 'ev2', title: 'Эко-субботник "Чистый Участок"', date: '2024-06-08', type: 'resident', category: 'eco', status: 'planned', location: 'пр. Мира, д.8', attendeesCount: 0, budget: 5000 },
    { id: 'ev3', title: 'Квартальный Тимбилдинг (Квиз)', date: '2024-06-20', type: 'internal', category: 'training', status: 'planned', location: 'Офис УК', attendeesCount: 24, budget: 12000 },
];

export const MOCK_RESIDENT_REPORTS: ResidentReport[] = [
    { id: 'rep1', buildingId: 'b-1', address: 'Тестовый пер., д.55', month: 'Май 2024', status: 'published', stats: { appsDone: 42, budgetSpent: 125000, cleaningQuality: 4.8 } },
    { id: 'rep2', buildingId: 'b-2', address: 'ул. Ленина, д.12', month: 'Май 2024', status: 'draft', stats: { appsDone: 15, budgetSpent: 45000, cleaningQuality: 3.2 } },
];

export const MOCK_STRATEGIC_GOALS: StrategicGoal[] = [
  { id: 'g1', department: 'production', title: 'Качество и Скорость', description: 'Снизить долю просроченных заявок', currentValue: 8, targetValue: 5, unit: '%', deadline: '30.09.2024' },
  { id: 'g2', department: 'pr', title: 'Лояльность Жителей', description: 'Повысить общий NPS по компании', currentValue: 68, targetValue: 75, unit: '', deadline: '31.12.2024' },
  { id: 'g3', department: 'finance', title: 'Финансовая Эффективность', description: 'Достичь чистой прибыли (мес)', currentValue: 1200000, targetValue: 1500000, unit: '₽', deadline: '31.07.2024' },
  { id: 'g4', department: 'development', title: 'Рост Портфеля', description: 'Подключить новые дома в управление', currentValue: 3, targetValue: 5, unit: 'домов', deadline: '31.12.2024' },
  { id: 'g5', department: 'legal', title: 'Юридическая Сила', description: 'Повысить процент выигранных дел', currentValue: 85, targetValue: 90, unit: '%', deadline: '30.09.2024' },
  { id: 'g6', department: 'hr', title: 'Стабильность Команды', description: 'Снизить текучесть кадров (год)', currentValue: 12, targetValue: 10, unit: '%', deadline: '31.12.2024' },
];


export const MOCK_FEEDBACK: ResidentFeedback[] = [
  { id: 'f1', buildingId: 'b-1', address: 'Тестовый пер., д.55', date: '2024-05-28', text: 'Очень довольна работой дворника, всегда чисто во дворе. Спасибо!', source: 'Опрос', rating: 10 },
  { id: 'f2', buildingId: 'b-2', address: 'ул. Ленина, д.12', date: '2024-05-27', text: 'Лифт постоянно ломается, уже неделю хожу пешком на 8 этаж. Это просто издевательство.', source: 'Приложение', rating: 1 },
];

export const MOCK_APPLICATIONS: DomaApplication[] = [
  { id: 12345, number: 'A-12345', status: 'new', description: 'Течь трубы в ванной комнате, сильный напор.', address: 'Тестовый пер., д.55', apartment: '15', clientName: 'Сергеева А.Н.', createdAt: '2024-05-30T10:00:00Z', deadlineAt: '2024-05-30T18:00:00Z' },
];

export const MOCK_OFFICE_REQUESTS: OfficeRequest[] = [
  { id: 'or1', requesterName: 'Иванова М. (HR)', category: 'stationery', itemName: 'Бумага А4 (5 коробок)', date: '2024-06-01', status: 'new', amount: 3500, priority: 'medium' },
];

export const MOCK_OFFICE_INVENTORY: OfficeInventoryItem[] = [
  { id: 'oi1', name: 'Бумага А4 (SvetoCopy)', quantity: 2, unit: 'кор.', minThreshold: 3, lastRestock: '2024-05-10' },
];

export const MOCK_OFFICE_DOCUMENTS: OfficeDocument[] = [
  // FIX: Added type property to mock data to match interface and resolve errors in components
  { id: 'doc1', regNumber: 'ВХ-1234', title: 'Требование об уплате налога', correspondent: 'ИФНС №5', date: '2024-06-01', status: 'registered', type: 'incoming', assignedTo: 'Гл. Бухгалтер' },
];

export const MOCK_OFFICE_ASSETS: OfficeAsset[] = [
  { id: 'as1', name: 'MacBook Air M1', type: 'laptop', assignedTo: 'Алексей Петров', purchaseDate: '2023-01-15', condition: 'good', serialNumber: 'C02XXXXX' },
];

// LEGAL MOCK DATA
export const MOCK_LEGAL_CONTRACTS: LegalContract[] = [
  { id: 'lc1', number: '2024/05-12', type: 'Поставка', counterparty: 'ООО "СтройМаш"', amount: 1500000, status: 'active', startDate: '2024-01-01', endDate: '2024-12-31', autoProlongation: true, manager: 'Петров А.А.', hasDisagreements: false },
];

export const MOCK_LEGAL_CASES: LegalCourtCase[] = [
  { id: 'case1', caseNumber: 'А40-12345/2024', type: 'arbitration', role: 'plaintiff', subject: 'Взыскание задолженности с ООО "Ромашка"', amount: 450000, status: 'litigation', nextHearingDate: '2024-06-25', judge: 'Иванова М.С.' },
  { id: 'case2', caseNumber: '2-1234/2024', type: 'debt_recovery', role: 'plaintiff', subject: 'Взыскание за ЖКУ', debtorName: 'Козлов Е.Е.', address: 'ул. Ленина, 12, кв. 45', amount: 85000, status: 'litigation', nextHearingDate: '2024-06-12', judge: 'Петров В.В.' },
  { id: 'case3', caseNumber: '2-5566/2023', type: 'debt_recovery', role: 'plaintiff', subject: 'Взыскание за ЖКУ', debtorName: 'Сидорова А.М.', address: 'пр. Мира, 8, кв. 101', amount: 120000, recoveredAmount: 45000, amountAtBailiffs: 15000, status: 'enforcement', fsspStatus: 'Арест счетов', fsspLastActionDate: '2024-05-10', bailiffName: 'Успенский С.В.', judge: 'Михайлова Е.Н.' },
  { id: 'case4', caseNumber: 'пр-778', type: 'debt_recovery', role: 'plaintiff', subject: 'Претензия по задолженности', debtorName: 'Иванов С.С.', address: 'Заречная, 44, кв. 12', amount: 35000, status: 'pre_trial' },
];

export const MOCK_LEGAL_COUNTERPARTIES: LegalCounterparty[] = [
  { id: 'cp1', name: 'ООО "СтройМаш"', inn: '7701234567', status: 'active', riskLevel: 'low', checkedDate: '2024-05-20' },
];

// MOCK данные модуля развития удалены - теперь используются данные из БД через API
// Данные загружаются через backendApi.getDevelopmentPipeline(), getDevelopmentOSS(), и т.д.

// Helper to create elements
const createElement = (id: string, name: string) => ({
  id,
  name,
  generalStatus: 'NOT_SELECTED' as const,
  electroStatus: 'NOT_SELECTED' as const,
  weldingStatus: 'NOT_SELECTED' as const,
});

const createEntranceSections = (prefix: string): EntranceSection[] => [
  {
    id: `${prefix}-floors`,
    title: 'Этажи',
    elements: [
      createElement(`${prefix}-fl-1`, 'Напольное покрытие'),
      createElement(`${prefix}-fl-2`, 'Освещение'),
    ]
  }
];

const createCommonSections = (prefix: string): EntranceSection[] => [
  {
    id: `${prefix}-roof`,
    title: 'Кровля',
    elements: [
      createElement(`${prefix}-roof-1`, 'Покрытие'),
    ]
  }
];

const createEntrance = (num: number, bId: string) => ({
  id: `${bId}-ent-${num}`,
  number: num,
  floors: 10,
  liftsCount: 1,
  hasBasement: 'NOT_SELECTED' as const,
  hasTechFloor: 'NOT_SELECTED' as const,
  hasAttic: 'NOT_SELECTED' as const,
  hasParking: 'NOT_SELECTED' as const,
  hasMansard: 'NOT_SELECTED' as const,
  entranceGroupsCount: 1,
  sections: createEntranceSections(`${bId}-ent-${num}`)
});

// Helper: Generate Readings History
const generateReadingsHistory = (baseValue: number): MeterReading[] => {
    const readings: MeterReading[] = [];
    let currentValue = baseValue;
    const today = new Date();
    for (let i = 0; i < 12; i++) {
        const date = new Date(today.getFullYear(), today.getMonth() - i, 20);
        const consumption = Math.floor(Math.random() * 20) + 5;
        readings.push({
            date: date.toISOString().split('T')[0],
            value: currentValue,
            consumption: consumption,
            source: 'app'
        });
        currentValue -= consumption;
    }
    return readings;
};

// Helper to create mock personal accounts
const createMockAccounts = (buildingId: string, aptCount: number): PersonalAccount[] => {
    const accounts: PersonalAccount[] = [];
    const types: Array<'apartment' | 'parking' | 'storage' | 'office'> = ['apartment', 'parking', 'storage', 'office'];
    const sentiments: Array<'negative' | 'toxic' | 'positive' | 'loyal' | 'neutral'> = ['negative', 'toxic', 'positive', 'loyal', 'neutral'];
    
    for (let i = 1; i <= aptCount; i++) {
        const areaTotal = Math.floor(40 + Math.random() * 60);
        const accountType = i <= aptCount * 0.8 ? 'apartment' : types[Math.floor(Math.random() * types.length)];
        const hasProfile = Math.random() > 0.3; // 70% имеют профиль
        
        accounts.push({
            id: `${buildingId}-acc-${i}`,
            accountNumber: `${buildingId.replace('b-', '')}00${i}`,
            apartmentNumber: i.toString(),
            type: accountType,
            floor: Math.ceil(i/4),
            owners: [{ 
                fullName: 'Иванов И.И.', 
                phone: '+7 900 000-00-00',
                residentProfile: i % 3 === 0 ? {
                    sentiment: sentiments[Math.floor(Math.random() * sentiments.length)],
                    birthday: `198${Math.floor(Math.random() * 10)}-${String(Math.floor(Math.random() * 12) + 1).padStart(2, '0')}-${String(Math.floor(Math.random() * 28) + 1).padStart(2, '0')}`,
                    email: `owner${i}@example.com`,
                    preferredContactMethod: 'phone' as any,
                } : undefined
            }],
            registered: i % 2 === 0 ? [
                { id: `reg-${i}-1`, fullName: 'Петрова А.А.', phone: '+7 900 111-11-11', email: `registered${i}@example.com` },
                { id: `reg-${i}-2`, fullName: 'Петров П.П.', phone: '+7 900 111-11-12' },
            ] : [],
            areaTotal: areaTotal,
            areaLiving: accountType === 'apartment' ? Math.floor(areaTotal * 0.7) : 0,
            areaNonLiving: accountType === 'apartment' ? Math.floor(areaTotal * 0.3) : areaTotal,
            meters: accountType === 'apartment' ? [
                { id: `m-${i}-1`, type: 'ХВС', make: 'Бетар', number: `BC-${i}321`, lastVerification: '2022-05-10', nextVerification: '2026-05-10', readings: generateReadingsHistory(150) },
            ] : [],
            isMeterInstallationFeasible: accountType === 'apartment',
            premiseNotes: i % 7 === 0 ? 'Требуется косметический ремонт' : undefined
        });
    }
    return accounts;
};

const createBuilding = (id: string, districtId: string, address: string, img: string, npsScore: number): Building => ({
  id,
  districtId,
  imageUrl: img,
  nps: npsScore,
  passport: {
    address,
    apartmentsCount: 160,
    general: {
        address: address,
        fiasCode: '8c5b2444-70a0-4932-980c-0e78548135f3',
        constructionYear: 1988,
        commissionYear: 1989,
        seriesType: '1-447С-37',
        floors: 10,
        undergroundFloors: 1,
        totalArea: 5400,
        livingArea: 4800,
        nonLivingArea: 200,
        commonArea: 400,
        cadastralNumberBuild: '77:01:0001001:1000',
        cadastralNumberLand: '77:01:0001001:25',
    },
    construction: {
        foundationType: 'Ленточный',
        foundationMaterial: 'Железобетон',
        wallMaterial: 'Кирпич силикатный',
        floorMaterial: 'Железобетонные плиты',
        roofType: 'Плоская',
        roofMaterial: 'Мягкая рулонная кровля',
        roofArea: 850,
        facadeType: 'Оштукатуренный',
        facadeInsulation: false,
        windowType: 'ПВХ (частично)',
    },
    engineering: {
        heatingType: 'Центральное',
        heatingWiring: 'Верхняя',
        hasITP: true,
        waterSupplyMaterial: 'Сталь оцинкованная',
        waterSupplyType: 'Циркуляционная',
        sewerMaterial: 'Чугун',
        electricityEntries: 2,
        hasVRU: true,
        gasType: 'Нет',
        ventilationType: 'Естественная',
    },
    meters: [
        { resource: 'Heat', hasMeter: true, model: 'ВКТ-7', number: '123456', lastVerification: '2023-09-01', nextVerification: '2027-09-01' },
        { resource: 'Water', hasMeter: true, model: 'Взлет ТСР-М', number: '987654', lastVerification: '2022-05-15', nextVerification: '2026-05-15' },
        { resource: 'Electricity', hasMeter: true, model: 'Меркурий 230', number: '555444', lastVerification: '2020-11-20', nextVerification: '2030-11-20' },
        { resource: 'Gas', hasMeter: false },
    ],
    lifts: [
        { count: 1, type: 'Пассажирский', capacity: 400, speed: 1.0, installYear: 2015, factoryNumber: 'KMZ-1001' },
    ],
    land: {
        area: 1200,
        hasPlayground: true,
        hasSportsGround: false,
        hasParking: true,
        hasFencing: true,
        hasContainerSite: true,
    },
    management: {
        contractDate: '2020-01-01',
        contractNumber: 'У-55/2020',
        servicesList: ['Содержание жилья', 'Текущий ремонт', 'Управление', 'Вывоз ТБО'],
        tariffMaintenance: 35.50,
        serviceContracts: [
            { id: 'sc1', serviceType: 'Водоснабжение (РСО)', providerName: 'АО Водоканал', contractNumber: 'В-100/22', contractDate: '2022-01-15' },
            { id: 'sc2', serviceType: 'Тех. обслуживание лифтов', providerName: 'ООО ЛифтСервис', contractNumber: 'Л-55/23', contractDate: '2023-03-10', expiryDate: '2025-03-10' },
            { id: 'sc3', serviceType: 'Видеонаблюдение', providerName: 'Безопасный Город', contractNumber: 'ВН-12', contractDate: '2024-01-01' },
            { id: 'sc4', serviceType: 'Интернет (МОП)', providerName: 'Ростелеком', contractNumber: 'РТ-9988', contractDate: '2021-06-05' },
        ]
    }
  },
  staff: [{ id: 's1', role: 'Главный инженер', company: 'ООО «Дружба»', name: 'Иванов И.И.' }],
  entrances: [1, 2].map(n => createEntrance(n, id)),
  commonSections: createCommonSections(id),
  accounts: createMockAccounts(id, 10),
  financials: {
    balance: 450000,
    debt: 85000,
    collectionRate: 94,
    topDebtors: [
      { apartment: '15', amount: 45000, months: 6, status: 'new' },
    ],
    invoices: [
      { id: 'inv1', buildingId: id, address: address, contractorName: 'ООО "ЛифтСервис"', serviceName: 'ТО Лифтов', amount: 25000, date: '2024-05-20', status: 'approved', priority: 'high', closingDocsReceived: false },
    ]
  },
  requests: { new: 2, inProgress: 4, overdue: 0 },
  inspectionHistory: [
    { id: 'act-1', number: '124-ОС', date: '2024-05-15', inspector: 'Иванов И.И.', type: 'scheduled_spring', status: 'completed', issuesCount: 2 },
  ],
  tasks: [
    { 
      id: 't1', 
      title: 'Замена лампочек', 
      deadline: new Date('2024-05-20').toISOString(), 
      status: 'new', 
      priority: 'medium',
      createdAt: new Date().toISOString(),
      updatedAt: new Date().toISOString(),
      buildingId: ''
    },
  ],
  annualPlan: [
    { id: 'p1', year: 2024, month: 'Май', workName: 'Промывка системы отопления', status: 'current', progress: 45, estimatedCost: 45000 },
  ],
  inventory: [
    { id: 'inv-1', name: 'Перфоратор Bosch', category: 'tool', quantity: 1, unit: 'шт.', lastCheck: '2024-05-01' },
  ],
  writeOffHistory: [],
  residents: [
    { id: 'r1', name: 'Марья Ивановна', role: 'chairman', apartment: '45', mood: 'angry', lastContact: 'Вчера' },
  ],
  reports: [
    { id: 'rep1', month: 'Ноябрь 2023', status: 'ready' },
  ],
  isDirty: false
});

export const MOCK_BUILDINGS: Building[] = [];

export const NAV_ITEMS = [
  { id: 'dashboard', label: 'Сводка', icon: LayoutDashboard },
  { id: 'objects', label: 'Участки', icon: Map },
  { id: 'requests', label: 'Заявки', icon: Wrench },
  { id: 'office', label: 'Офис', icon: Building2 }, 
  { id: 'pr', label: 'PR и NPS', icon: Megaphone },
  { id: 'finance', label: 'Финансы', icon: Banknote },
  { id: 'legal', label: 'Юр. отдел', icon: Scale },
  { id: 'development', label: 'Развитие', icon: Briefcase },
  { id: 'hr', label: 'Кадры', icon: UsersRound },
  { id: 'admin', label: 'Панель управления', icon: Settings },
];