/**
 * Mock-сделки для UI-разводки. Заменяется на API-fetch при backend-интеграции
 * (`GET /api/deals?tenant_id=...&status=...&page=...`).
 *
 * Slug'и статусов берутся из `composables/leadStatuses.ts` (источник —
 * `db/schema.sql:2130`, не BRANDBOOK §3.6).
 */
import type { LeadStatus } from './leadStatuses';

export interface MockDeal {
    id: number;
    name: string;
    phone: string;
    statusSlug: LeadStatus['slug'];
    project: string;
    manager: { initials: string; name: string };
    cost: number;
    // F2: реальная стоимость лида в копейках (снимок rub-списания) или null —
    // отдельное поле от legacy mock-`cost`, чтобы карточка показывала факт списания.
    costKopecks?: number | null;
    receivedMinutesAgo: number;
    // Редизайн «Сделки» (2026-05-17). Опциональны — Канбан/MOCK_DEALS не трогаем.
    signalType?: 'call' | 'site' | 'sms' | null;
    city?: string | null;
    comment?: string | null;
    receivedAt?: string | null; // ISO — колонка «Поставлен»
    // Drawer-«легенда» сделки (18.05.2026): Тип + Источник проекта (read-only).
    projectSignalType?: 'site' | 'call' | 'sms' | null;
    projectSignalIdentifier?: string | null;
    projectSmsKeyword?: string | null;
    projectSmsSenders?: string[] | null;
}

export const MOCK_DEALS: MockDeal[] = [
    {
        id: 1,
        name: 'Анна Соколова',
        phone: '+7 (916) 871-23-45',
        statusSlug: 'new',
        project: 'Натяжные потолки',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 1850,
        receivedMinutesAgo: 7,
    },
    {
        id: 2,
        name: 'Дмитрий Кузнецов',
        phone: '+7 (903) 412-58-90',
        statusSlug: 'in_progress',
        project: 'Окна Москва',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 2400,
        receivedMinutesAgo: 23,
    },
    {
        id: 3,
        name: 'Светлана Иванова',
        phone: '+7 (925) 309-44-12',
        statusSlug: 'in_progress',
        project: 'Окна Москва',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 2100,
        receivedMinutesAgo: 47,
    },
    {
        id: 4,
        name: 'Марина Лебедева',
        phone: '+7 (915) 778-90-32',
        statusSlug: 'won',
        project: 'Натяжные потолки',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 2350,
        receivedMinutesAgo: 105,
    },
    {
        id: 5,
        name: 'Алексей Петров',
        phone: '+7 (905) 132-46-87',
        statusSlug: 'in_progress',
        project: 'Окна Москва',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 2400,
        receivedMinutesAgo: 132,
    },
    {
        id: 6,
        name: 'Екатерина Морозова',
        phone: '+7 (926) 554-21-09',
        statusSlug: 'in_progress',
        project: 'Натяжные потолки',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 1950,
        receivedMinutesAgo: 178,
    },
    {
        id: 7,
        name: 'Игорь Васильев',
        phone: '+7 (917) 882-30-55',
        statusSlug: 'viewed',
        project: 'Окна Москва',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 2400,
        receivedMinutesAgo: 215,
    },
    {
        id: 8,
        name: 'Тимур Алиев',
        phone: '+7 (903) 765-09-21',
        statusSlug: 'in_progress',
        project: 'Натяжные потолки',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 1850,
        receivedMinutesAgo: 263,
    },
    {
        id: 9,
        name: 'Наталья Семёнова',
        phone: '+7 (910) 244-67-83',
        statusSlug: 'lost',
        project: 'Окна Москва',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 2400,
        receivedMinutesAgo: 312,
    },
    {
        id: 10,
        name: 'Олег Григорьев',
        phone: '+7 (909) 411-52-76',
        statusSlug: 'in_progress',
        project: 'Натяжные потолки',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 1850,
        receivedMinutesAgo: 388,
    },
    {
        id: 11,
        name: 'Ирина Зайцева',
        phone: '+7 (916) 671-98-04',
        statusSlug: 'in_progress',
        project: 'Окна Москва',
        manager: { initials: 'ИП', name: 'Иван П.' },
        cost: 2400,
        receivedMinutesAgo: 445,
    },
    {
        id: 12,
        name: 'Сергей Никитин',
        phone: '+7 (925) 198-43-58',
        statusSlug: 'won',
        project: 'Натяжные потолки',
        manager: { initials: 'ОР', name: 'Ольга Р.' },
        cost: 1850,
        receivedMinutesAgo: 521,
    },
];

/**
 * Доступные проекты и менеджеры для NewDealDialog. На API: GET /api/projects /
 * GET /api/managers (фильтр по tenant_id из middleware).
 */
export const MOCK_PROJECTS = ['Натяжные потолки', 'Окна Москва', 'Кухни на заказ', 'Двери Премиум'] as const;

export interface MockManager {
    initials: string;
    name: string;
}

export const MOCK_MANAGERS: MockManager[] = [
    { initials: 'ИП', name: 'Иван П.' },
    { initials: 'ОР', name: 'Ольга Р.' },
    { initials: 'СК', name: 'Светлана К.' },
    { initials: 'АН', name: 'Андрей Н.' },
];
