/* redesign-data.jsx — Mock data for the Discover Redesign */
/* global window */

// 8 creators with the new signal-rich fields:
// match, er, followers, cost band, bot %, last collab w/ this brand, provenance, audience overlap %
const RD_CREATORS = [
  {
    id: 1, name: 'Linh Châu', handle: '@linhchau', cat: 'Skincare',
    platform: 'tiktok', followers: 482000, er: 6.2, match: 94, level: 'Micro',
    verified: true, geo: 'HCM', priceMin: 3.2, priceMax: 4.8,
    bot: 3, audienceFit: 78, growth: 12,
    provSrc: 'api', provAge: '2d',
    rebookCount: 2, rebookLast: 'Mar 2026',
    sparkData: [3.2, 3.8, 4.2, 4.8, 5.4, 5.8, 6.2],
    reason: 'Past Vitamin C content over-performed her baseline by 38%; 78% audience match with your HCM 18–24F target.',
    cpe: 0.52, // cost per engagement ($)
  },
  {
    id: 2, name: 'Mai Vy', handle: '@maivy', cat: 'Lifestyle',
    platform: 'instagram', followers: 1200000, er: 5.8, match: 88, level: 'Macro',
    verified: true, geo: 'HCM', priceMin: 8.0, priceMax: 12.0,
    bot: 5, audienceFit: 62, growth: 4,
    provSrc: 'api', provAge: '1d',
    rebookCount: 1, rebookLast: 'Nov 2025',
    sparkData: [4.0, 4.4, 4.8, 5.2, 5.4, 5.6, 5.8],
    reason: 'Authentic mom-coded skincare voice; 62% audience overlap with your ICP. Premium CPM but reliable.',
    cpe: 1.74,
  },
  {
    id: 3, name: 'Hà Giang', handle: '@hagiang', cat: 'Beauty',
    platform: 'tiktok', followers: 320000, er: 7.1, match: 84, level: 'Micro',
    verified: false, geo: 'HCM', priceMin: 2.0, priceMax: 3.5,
    bot: 4, audienceFit: 71, growth: 18,
    provSrc: 'crawl', provAge: '4d',
    rebookCount: 0, rebookLast: null,
    sparkData: [5.5, 6.0, 6.4, 6.7, 6.9, 7.0, 7.1],
    reason: 'Highest ER in shortlist. Clean-beauty specialist — strong fit for vegan claim positioning.',
    cpe: 0.38,
  },
  {
    id: 4, name: 'Phương Anh', handle: '@phuonganh.beauty', cat: 'Beauty Vlog',
    platform: 'youtube', followers: 210000, er: 4.4, match: 78, level: 'Micro',
    verified: true, geo: 'HN', priceMin: 3.0, priceMax: 5.0,
    bot: 18, audienceFit: 54, growth: -2,
    provSrc: 'crawl', provAge: '47d',
    rebookCount: 0, rebookLast: null,
    sparkData: [3.8, 4.0, 4.2, 4.3, 4.4, 4.3, 4.4],
    reason: 'YouTube long-form complements TikTok. Risk flag: 18% audience looks suspicious — review before booking.',
    cpe: 1.62,
    riskBad: true,
  },
  {
    id: 5, name: 'Thảo Nhi', handle: '@thaonhi', cat: 'Wellness',
    platform: 'instagram', followers: 156000, er: 5.2, match: 75, level: 'Micro',
    verified: false, geo: 'HCM', priceMin: 1.4, priceMax: 2.6,
    bot: 6, audienceFit: 58, growth: 9,
    provSrc: 'api', provAge: '3d',
    rebookCount: 0, rebookLast: null,
    sparkData: [4.6, 4.8, 5.0, 5.1, 5.2, 5.2, 5.2],
    reason: 'Cross-category fit (wellness + skincare). Younger audience skew (16–22F).',
    cpe: 0.49,
  },
  {
    id: 6, name: 'Diệu Linh', handle: '@dieulinh.skin', cat: 'Skincare',
    platform: 'tiktok', followers: 95000, er: 8.4, match: 72, level: 'Nano',
    verified: false, geo: 'HCM', priceMin: 1.0, priceMax: 1.8,
    bot: 2, audienceFit: 66, growth: 22,
    provSrc: 'api', provAge: '1d',
    rebookCount: 0, rebookLast: null,
    sparkData: [6.8, 7.2, 7.6, 8.0, 8.2, 8.3, 8.4],
    reason: 'Best price band in shortlist; highest ER. Strong nano-test candidate before scaling.',
    cpe: 0.21,
    star: true,
  },
  {
    id: 7, name: 'Quỳnh Trang', handle: '@quynhtrang.id', cat: 'Beauty',
    platform: 'tiktok', followers: 245000, er: 5.6, match: 70, level: 'Micro',
    verified: true, geo: 'HCM', priceMin: 2.4, priceMax: 4.0,
    bot: 11, audienceFit: 52, growth: 5,
    provSrc: 'import', provAge: '18d',
    rebookCount: 3, rebookLast: 'Aug 2025',
    sparkData: [5.0, 5.2, 5.3, 5.4, 5.5, 5.5, 5.6],
    reason: 'Worked with you on 3 prior campaigns — fastest approval cycle in your roster.',
    cpe: 0.71,
  },
  {
    id: 8, name: 'Khánh Vy', handle: '@khanhvy.derm', cat: 'Derm',
    platform: 'instagram', followers: 78000, er: 9.2, match: 68, level: 'Nano',
    verified: false, geo: 'HCM', priceMin: 0.8, priceMax: 1.4,
    bot: 4, audienceFit: 49, growth: 31,
    provSrc: 'api', provAge: '5h',
    rebookCount: 0, rebookLast: null,
    sparkData: [6.0, 7.0, 7.8, 8.4, 8.7, 9.0, 9.2],
    reason: 'Dermatology background — highest authority signal in shortlist. Smaller reach but +31% MoM growth.',
    cpe: 0.16,
    star: true,
  },
];

const RD_FILTERS = [
  { id: 'tt',    label: 'TikTok',     active: true,  count: 184 },
  { id: 'ig',    label: 'Instagram',  active: true,  count: 96  },
  { id: 'yt',    label: 'YouTube',    active: false, count: 32  },
  { id: 'mic',   label: 'Micro · 50K–500K', active: true, count: 142 },
  { id: 'nano',  label: 'Nano · <50K', active: false, count: 88  },
  { id: 'hcm',   label: 'HCM',         active: true,  count: 158 },
  { id: 'cat',   label: 'Beauty / Skincare', active: true, count: 102 },
  { id: 'er',    label: 'ER ≥ 4%',     active: true,  count: 178 },
  { id: 'guard', label: 'Bot < 10% · guard',  active: true,  count: 209, guard: true },
  { id: 'fresh', label: 'Data ≤ 14d', active: false, count: 188 },
];

// Painpoint audit data
const RD_PAINPOINTS = [
  {
    n: 1, name: 'Aspire · Upfluence · CreatorIQ',
    pain: 'Filters reward big numbers. Sort by followers, not ROI per dollar. Brand wastes budget on macro creators with low engagement fit.',
    tag: 'Vanity-led'
  },
  {
    n: 2, name: 'Modash',
    pain: 'Strong filter primitives but lonely UX — no AI rationale, no rebook memory, no compare basket. Brand still drowns in 312 tabs.',
    tag: 'No memory'
  },
  {
    n: 3, name: 'Hiip · 7Saturday · Revu',
    pain: 'No provenance on metrics — Brand can\'t tell if a follower count is from yesterday or 4 months ago. No fake-follower flag visible at scan time.',
    tag: 'No trust'
  },
  {
    n: 4, name: 'Google Sheets / Excel',
    pain: 'Manual outreach of 50 creators takes weeks. Numbers stale by the time the brief is approved. No risk detection at all.',
    tag: 'Stale data'
  },
];

const RD_USPS = [
  {
    code: 'B3', name: 'Provenance = trust',
    ds: 'Every metric carries a source chip (API · Crawl · Import) + freshness (5h, 2d, 47d). Brand sees if the number is alive before they spend.'
  },
  {
    code: 'B7', name: 'Risk visible at scan time',
    ds: 'Bot ratio and growth anomalies surface inline on the row/card. No drilling needed — red dot = stop and look.'
  },
  {
    code: 'B4', name: 'Rebook memory',
    ds: '“Worked with you 3× · last Aug 2025” chip. Brand never forgets who already performed, never re-onboards a known creator.'
  },
  {
    code: 'B1', name: 'Micro/KOC-first',
    ds: 'Cost-per-engagement preview on every card. Sort defaults to CPE, not followers. A 95K nano with $0.16 CPE outranks a 1.2M macro.'
  },
  {
    code: 'NL', name: 'Natural-language brief',
    ds: 'Type the brief in one sentence. Tokens (geo, budget, ER guard) parse live with colors so Brand sees what AI heard.'
  },
  {
    code: 'BSK', name: 'Compare basket',
    ds: 'Drag/click to add creators. Right rail shows live budget, audience overlap %, and ready-to-launch CTA — no extra screen.'
  },
];

Object.assign(window, { RD_CREATORS, RD_FILTERS, RD_PAINPOINTS, RD_USPS });
