import { Placement, Subscription, ViewsSnapshot } from "@/lib/types/api"; import { mockTargetChannels } from "./channels"; import { mockExternalChannels } from "./external-channels"; import { mockCreatives } from "./creatives"; // ============================================================================ // Mock Placements Data // ============================================================================ export const mockPlacements: Placement[] = [ { id: "p1", target_channel_id: "tc1", target_channel_title: mockTargetChannels[0].title, external_channel_id: "ec1", external_channel_title: mockExternalChannels[0].title, creative_id: "cr1", creative_name: mockCreatives[0].name, placement_date: "2024-03-15T10:00:00.000Z", cost: 5000, comment: "Тестовая закупка на утро", ad_post_url: "https://t.me/marketing_pro/1234", invite_link_type: "approval", invite_link: "https://t.me/+AbCdEfGhIjKlMnOp", status: "active", subscriptions_count: 125, views_count: 12500, views_availability: "available", last_views_fetch_at: "2024-03-16T10:00:00.000Z", created_at: "2024-03-14T15:00:00.000Z", }, { id: "p2", target_channel_id: "tc1", target_channel_title: mockTargetChannels[0].title, external_channel_id: "ec2", external_channel_title: mockExternalChannels[1].title, creative_id: "cr2", creative_name: mockCreatives[1].name, placement_date: "2024-03-18T14:00:00.000Z", cost: 12000, comment: "Большой канал, ожидаем хороших результатов", ad_post_url: "https://t.me/business_startups/5678", invite_link_type: "approval", invite_link: "https://t.me/+QrStUvWxYzAbCdEf", status: "active", subscriptions_count: 210, views_count: 28000, views_availability: "available", last_views_fetch_at: "2024-03-19T10:00:00.000Z", created_at: "2024-03-17T10:00:00.000Z", }, { id: "p3", target_channel_id: "tc2", target_channel_title: mockTargetChannels[1].title, external_channel_id: "ec3", external_channel_title: mockExternalChannels[2].title, creative_id: "cr3", creative_name: mockCreatives[2].name, placement_date: "2024-03-20T16:00:00.000Z", cost: 3500, comment: null, ad_post_url: "https://t.me/it_tech_news/9101", invite_link_type: "public", invite_link: "https://t.me/+GhIjKlMnOpQrStUv", status: "active", subscriptions_count: 75, views_count: 8500, views_availability: "available", last_views_fetch_at: "2024-03-21T10:00:00.000Z", created_at: "2024-03-19T12:00:00.000Z", }, { id: "p4", target_channel_id: "tc1", target_channel_title: mockTargetChannels[0].title, external_channel_id: "ec1", external_channel_title: mockExternalChannels[0].title, creative_id: "cr1", creative_name: mockCreatives[0].name, placement_date: "2024-03-22T08:00:00.000Z", cost: 4500, comment: "Повтор в этом же канале", ad_post_url: "https://t.me/marketing_pro/1290", invite_link_type: "approval", invite_link: "https://t.me/+XyZaBcDeFgHiJkLm", status: "active", subscriptions_count: 95, views_count: null, views_availability: "unavailable", last_views_fetch_at: "2024-03-23T09:00:00.000Z", created_at: "2024-03-21T14:00:00.000Z", }, { id: "p5", target_channel_id: "tc1", target_channel_title: mockTargetChannels[0].title, external_channel_id: "ec2", external_channel_title: mockExternalChannels[1].title, creative_id: "cr1", creative_name: mockCreatives[0].name, placement_date: "2024-02-10T10:00:00.000Z", cost: 10000, comment: "Старая закупка (архив)", ad_post_url: "https://t.me/business_startups/4567", invite_link_type: "public", invite_link: "https://t.me/+OldLinkArch12345", status: "archived", subscriptions_count: 150, views_count: 20000, views_availability: "available", last_views_fetch_at: "2024-02-12T10:00:00.000Z", created_at: "2024-02-09T10:00:00.000Z", }, ]; // Keep old name for backward compatibility export const mockPurchases = mockPlacements; // ============================================================================ // Mock Subscriptions // ============================================================================ export const mockSubscriptions: Subscription[] = [ { id: "s1", purchase_id: "p1", telegram_user_id: 123456789, user_first_name: "Иван", user_last_name: "Иванов", user_username: "ivan_ivanov", subscribed_at: "2024-03-15T11:35:00.000Z", is_active: true, event_type: "join_request", }, { id: "s2", purchase_id: "p1", telegram_user_id: 987654321, user_first_name: "Мария", user_last_name: null, user_username: "maria123", subscribed_at: "2024-03-15T12:05:00.000Z", is_active: true, event_type: "join_request", }, { id: "s3", purchase_id: "p1", telegram_user_id: 456789123, user_first_name: "Алексей", user_last_name: "Петров", user_username: null, subscribed_at: "2024-03-15T13:20:00.000Z", is_active: false, event_type: "join_request", }, { id: "s4", purchase_id: "p2", telegram_user_id: 789123456, user_first_name: "Елена", user_last_name: "Сидорова", user_username: "elena_s", subscribed_at: "2024-03-18T14:30:00.000Z", is_active: true, event_type: "chat_member", }, ]; // ============================================================================ // Mock Views History // ============================================================================ export const mockViewsHistory: ViewsSnapshot[] = [ { id: "v1", purchase_id: "p1", views: 10000, fetched_at: "2024-03-15T12:00:00.000Z", }, { id: "v2", purchase_id: "p1", views: 11500, fetched_at: "2024-03-15T18:00:00.000Z", }, { id: "v3", purchase_id: "p1", views: 12500, fetched_at: "2024-03-16T10:00:00.000Z", }, { id: "v4", purchase_id: "p2", views: 25000, fetched_at: "2024-03-18T15:00:00.000Z", }, { id: "v5", purchase_id: "p2", views: 27000, fetched_at: "2024-03-18T20:00:00.000Z", }, { id: "v6", purchase_id: "p2", views: 28000, fetched_at: "2024-03-19T10:00:00.000Z", }, ];