PageSourceSearch

https://slantapp.ai/assets/PartnerGatewayOps-XqHa98GR.js

js slantapp.ai collected 2026-10-05 15:06:17 UTC 94,407 bytes, 1 lines download raw bytes

1import{r as S,ap as mt,c as xt,W as B,F as T,j as e,B as o,o as Ze,O as n,U as Re,aL as ht,b as Ke,C as j,a as f,aC as _e,aX as pt,ad as gt,ae as Xe,am as Fe,c4 as et,E as Ie,b8 as he,I as bt,ay as vt,a7 as Ee,K as q,N as G,a4 as F,Z as ye,aF as tt,a9 as jt,M as ft,aP as Nt,_ as Pe,L as ue,$ as at,a0 as st,a1 as rt,a2 as lt,a5 as nt,Q as C,aY as yt,S as wt,a6 as Ct,P as St,aB as kt,cq as Tt}from"./index-tc5-nNLC.js";import{T as At,a as Pt,b as le,c as ne}from"./tabs-D2OfY7RH.js";import{S as De,a as qe,b as Ge,c as Be,d as Ve}from"./select-Bsa-6vNv.js";import{T as Rt}from"./textarea-DN2rY_yY.js";import{L as Q}from"./label-MwGx_WS4.js";import{A as It}from"./arrow-left-kYemJdx8.js";import{M as Ne}from"./mail-DG8jvVe4.js";import{P as Lt}from"./phone-DkyZOs2j.js";import{E as $e}from"./external-link-wMXh6D17.js";import{C as Y}from"./circle-check-big-CUgqPmz6.js";import{S as xe}from"./send-B0Xv9vwc.js";import{T as Mt}from"./thumbs-up-EPdp9vjE.js";import{R as $t}from"./rotate-ccw-BXkbHsdV.js";import{T as Ot}from"./thumbs-down-DpKVNTtG.js";import{C as _t}from"./copy-Bquar6tk.js";import{H as Ft}from"./hotel-BRZfVFiM.js";import{D as Et}from"./download-DtCkiRGd.js";import{P as Dt}from"./play-DZhwD__F.js";import{C as it}from"./chevron-up-1gTexUQn.js";import{C as ot}from"./chevron-down-DOFZ7rzv.js";import"./index-C-y5wYFI.js";const Oe=[{id:"dmo_001",name:"Scott Schult",title:"VP of Destination Strategy",org:"Tiki",email:"[email protected]",phone:"615-739-7232",linkedin:"https://www.linkedin.com/in/scottrschult",event:"eTourism Summit (Informa Connect)",session:null,notes:"VP strategy — direct decision maker for destination tech partnerships.",platformIntel:"Tiki (formerly Clicktripz, rebranded Apr 2025) is a DMO ad-tech platform itself — AI conversational marketing and travel-endemic ad network for destinations. They're a platform vendor, not a buyer. Angle: adjacent space, potential channel partner. They serve the same DMO customer base Slant targets.",platforms:["proprietary (Tiki platform)"],contactType:"channel_partner"},{id:"dmo_002",name:"Jarrod Lopiccolo",title:"CEO / Co-Founder",org:"Noble Studios",email:null,phone:null,linkedin:"https://www.linkedin.com/in/jarrodlopiccolo",event:"eTourism Summit (Informa Connect)",session:null,notes:"Agency CEO with strong DMO client base. Potential channel partner.",platformIntel:"Noble Studios manages influencer campaigns for DMO clients (confirmed: Visit Reno Tahoe — they built influencer UGC into the site and manage content strategy). Agency-managed model means they control platform choices for their clients. As a channel partner, Noble Studios signing on would bring their DMO client roster with it.",platforms:["agency-managed (unknown platform)"],contactType:"channel_partner"},{id:"dmo_003",name:"Donald Lilley Jr.",title:"Director of Technology and Business Intelligence",org:"Visit Baltimore",email:null,phone:null,linkedin:"https://www.linkedin.com/in/donald-lilley-jr-1a329021",event:"eTourism Summit (Informa Connect)",session:null,notes:"Tech + BI lead at Visit Baltimore. Attribution tech decision maker.",platformIntel:"No confirmed influencer SaaS platform. As Tech + BI director he owns attribution decisions — perfect Slant champion profile. Focus pitch on the data layer and BI integration angle. Baltimore is an active MICE and tourism market.",platforms:[],contactType:"direct_prospect"},{id:"dmo_004",name:"Lauren Cleland",title:"Vice President, Strategic Marketing",org:"Visit Savannah",email:"[email protected]",phone:"912-644-6412",linkedin:"https://www.linkedin.com/in/laurencleland",event:"eTourism Summit (Informa Connect)",session:null,notes:"VP marketing at a mid-size US DMO. Savannah runs creator campaigns actively.",platformIntel:"Visit Savannah runs influencer campaigns through Madden Media agency (confirmed: 'Surprisingly Savannah' trolley activation across 11 US cities — influencer gifting, contracted content, branded guidelines). Madden Media controls the tooling. Approach: pitch Slant as the offline attribution layer Madden Media's campaigns currently can't provide. Savannah is actively investing in creator campaigns.",platforms:["Madden Media (agency)"],contactType:"direct_prospect"},{id:"dmo_005",name:"Sheretha Bell",title:"Senior VP, Marketing and Brand Strategy",org:"Atlanta Convention & Visitors Bureau",email:null,phone:null,linkedin:"https://www.linkedin.com/in/sherethabell",event:"eTourism Summit (Informa Connect)",session:null,notes:"SVP at major US CVB. Atlanta runs significant influencer budgets.",platformIntel:"Atlanta CVB runs direct influencer campaigns in-house (confirmed: 'On A Different Level' campaign with 3 Atlanta influencers — 500k+ impressions, 20k engagements, 5k new followers). No confirmed SaaS platform — likely manual or agency-assisted. Major CVB with the scale and budget to justify Slant's attribution layer. SVP level — high authority, likely has board reporting pressure for ROI proof.",platforms:["likely manual / no confirmed SaaS"],contactType:"direct_prospect"},{id:"dmo_006",name:"Zeek Coleman",title:"President",org:"AdGenuity / Miles Partnership",email:null,phone:null,linkedin:"https://www.linkedin.com/in/zeekcoleman",event:"eTourism Summit (Informa Connect)",session:null,notes:"President at DMO-focused agency. Potential channel partner.",platformIntel:"AdGenuity (acquired by Miles Partnership in Jan 2019, operates as independent unit). Specializes in DMO co-op marketing programs, media planning, and distribution strategy. Miles Partnership is one of the largest tourism marketing consultancies in the US. Channel partner target — they manage marketing spend for dozens of DMO clients. Getting Miles/AdGenuity would be a significant multiplier.",platforms:["agency (Miles Partnership ecosystem)"],contactType:"channel_partner"},{id:"dmo_007",name:"Megan Knott",title:"Chief Executive Officer",org:"Tourism Kingston",email:"[email protected]",phone:"613-453-4603",linkedin:"https://ca.linkedin.com/in/meganknott",event:"eTourism Summit (Informa Connect)",session:null,notes:"CEO of Canadian DMO. Likely receptive to attribution tools given smaller budget — need to prove ROI.",platformIntel:"No confirmed platform. Small Canadian DMO — budget-conscious but ROI-focused. CEO-level contact means fast decisions. Good pilot candidate: small enough to move quickly, legitimate DMO with real campaign needs. Canadian jurisdiction means CASL compliance note needed.",platforms:[],contactType:"direct_prospect"},{id:"dmo_008",name:"Mani Raj Lamichane",title:"Senior Director / Province Office Chief",org:"Nepal Tourism Board",email:"[email protected]",phone:"+977-1-4256909",linkedin:"https://np.linkedin.com/in/manirajlam
1ichhane",event:"eTourism Summit (Informa Connect)",session:null,notes:"Government tourism board. Long cycle, but meaningful for international expansion narrative.",platformIntel:"Government-run national tourism board. Long procurement cycle expected. No confirmed platform. Primary value: international expansion narrative for investor/press story. Not a near-term revenue target — low priority for active outreach, but worth a warm introduction email.",platforms:[],contactType:"long_cycle"},{id:"dmo_009",name:"David Reichbach",title:"Vice President of Development",org:"Future Partners",email:"[email protected]",phone:null,linkedin:"https://www.linkedin.com/in/david-reichbach-1722aa5a",event:"Marketing Outlook Forum",session:null,notes:"VP development at DMO consultancy. Strong channel partner candidate — access to multiple DMO clients.",platformIntel:"Future Partners is a DMO consulting firm. VP Development role means he owns partnerships and business development — exactly the right angle. No confirmed influencer platform. Approach as a channel/reseller partner: Future Partners adds Slant attribution to their client service offering.",platforms:[],contactType:"channel_partner"},{id:"dmo_010",name:"Tony Lyle",title:"Executive Director",org:"Visit Galveston",email:null,phone:"409-797-5163",linkedin:"https://www.linkedin.com/in/tonylyle",event:"Marketing Outlook Forum",session:null,notes:"Executive Director at beach/coastal DMO. Galveston runs influencer campaigns for events.",platformIntel:"No confirmed platform. Coastal/beach DMO — runs event-driven influencer campaigns (Mardi Gras, major festivals). Executive Director = ultimate decision maker at smaller DMO, fast cycles. Good pilot target for event-based geofence attribution (specific event = measurable arrivals).",platforms:[],contactType:"direct_prospect"},{id:"dmo_011",name:"Jonathan Smith",title:"Director of Research",org:"VisitGreenvilleSC",email:"[email protected]",phone:"864-696-2524",linkedin:"https://www.linkedin.com/in/jonathan-smith-46375090",event:"Marketing Outlook Forum",session:null,notes:"Research director — exactly the profile that would champion attribution measurement. Strong fit.",platformIntel:"Research Director — the single highest-fit profile in this list. His entire job is measuring destination marketing effectiveness. No confirmed influencer SaaS. Pitch: Slant gives him the verified visit dataset he can't currently get from any influencer platform. Strong internal champion candidate who would drive adoption upward to leadership.",platforms:[],contactType:"direct_prospect"},{id:"dmo_012",name:"Dan Roberts",title:"Vice President of Research & Strategy",org:"Virginia Tourism Corporation",email:"[email protected]",phone:"804-545-5549",linkedin:null,event:"Marketing Outlook Forum",session:null,notes:"VP Research at state tourism board. Large budget, attribution measurement is a key priority.",platformIntel:"Virginia Tourism uses Sojern for digital ad co-op (launched June 2023, $2.96M economic impact). Has a documented influencer program (WanderLove campaign: 51k influencer engagements) but no confirmed influencer SaaS. Research VP = data-driven buyer. Will want proof-of-concept data before committing. State-level budget is significant. Lead with the data story.",platforms:["Sojern (digital ads)","manual influencer program"],contactType:"direct_prospect"},{id:"dmo_013",name:"Lauren Schlau",title:"President",org:"Lauren Schlau Consulting / Travel Analytics Group",email:"[email protected]",phone:null,linkedin:"https://www.linkedin.com/in/lauren-schlau-017a1314",event:"Marketing Outlook Forum",session:null,notes:"Travel analytics consultant and TAG partner. Could be a strong channel/validation partner.",platformIntel:"LA-based travel analytics consultancy (founded 1991). Co-founder of Travel Analytics Group (TAG). Respected research voice in DMO/tourism space. No platform. Best approach: seek her as a validation/advisory partner — an endorsement from TAG carries significant credibility with DMO buyers. Low revenue near-term, high strategic value.",platforms:[],contactType:"validation_partner"},{id:"dmo_014",name:"Carl Ribaudo",title:"President & Chief Strategist",org:"SMG Consulting / Travel Analytics Group",email:"[email protected]",phone:null,linkedin:"https://www.linkedin.com/in/carl-ribaudo-1ab0648",event:"Marketing Outlook Forum",session:null,notes:"TAG founding partner. Respected DMO analytics voice — validation from him would carry significant weight.",platformIntel:"TAG founding partner and SMG Consulting president. One of the most cited voices in DMO analytics and research. No confirmed platform. Approach as advisory/validation: an endorsement or co-authored case study from Carl Ribaudo would open doors with virtually every US DMO. Strategic asset — not a direct sales prospect.",platforms:[],contactType:"validation_partner"}],ct={not_contacted:{label:"Not Contacted",color:"bg-slate-700 text-slate-300 border-slate-600",icon:bt},emailed:{label:"Emailed",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",icon:Ne}
1,responded:{label:"Responded",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",icon:he},meeting_set:{label:"Meeting Set",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",icon:Ie},not_a_fit:{label:"Not a Fit",color:"bg-slate-800 text-slate-500 border-slate-700",icon:Ke}},J={new:{label:"New",color:"bg-blue-500/20 text-blue-300 border-blue-500/30"},contacted:{label:"Contacted",color:"bg-amber-500/20 text-amber-300 border-amber-500/30"},demo_scheduled:{label:"Demo Scheduled",color:"bg-purple-500/20 text-purple-300 border-purple-500/30"},active:{label:"Active Partner",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30"},closed:{label:"Closed",color:"bg-slate-700 text-slate-400 border-slate-600"}};function da(){var je,fe,a,r,M,p,$,me,Qe,ze,He,Ue,We;const[L,pe]=S.useState(()=>{try{return JSON.parse(localStorage.getItem("dmo_outreach_status")||"{}")}catch{return{}}}),[N,U]=S.useState({}),[E,i]=S.useState(()=>{try{return JSON.parse(localStorage.getItem("dmo_dataroom_sent")||"{}")}catch{return{}}}),[y,Z]=S.useState(!1),[u,w]=S.useState({name:"",email:"",firm:"",role:"",notes:""}),[O,V]=S.useState(null),[A,v]=S.useState({reportTitle:"",brandName:"",brandLogoUrl:"",accentColor:"#3b82f6",preparedFor:""}),[P,ie]=S.useState(null),[X,we]=S.useState(""),R=mt(),{toast:m}=xt(),z=(t,s)=>{const l={...L,[t]:s};pe(l);try{localStorage.setItem("dmo_outreach_status",JSON.stringify(l))}catch{}},H=async t=>{if(t.email){U(s=>({...s,[t.id]:!0}));try{await C("POST","/api/partner-integration/send-demo-request/dmo",{contactName:t.name,contactEmail:t.email,org:t.org});const s={...E,[t.id]:!0};i(s);try{localStorage.setItem("dmo_demo_sent",JSON.stringify(s))}catch{}z(t.id,"emailed"),m({title:"Demo request sent",description:`Email sent to ${t.name} at ${t.email}`})}catch{m({title:"Send failed",description:"Could not send email. Try again.",variant:"destructive"})}finally{U(s=>({...s,[t.id]:!1}))}}},{data:d,isLoading:Ce}=B({queryKey:["/api/partner-integration/platform-report"]}),{data:_,isLoading:Le}=B({queryKey:["/api/partner-integration/leads"]}),{data:x,isLoading:Me}=B({queryKey:["/api/partner-integration/investors"]}),{data:k,isLoading:Se}=B({queryKey:["/api/creator-activations"]}),{data:ee,refetch:h}=B({queryKey:["/api/activation-reports"]}),ke=T({mutationFn:({id:t,status:s})=>C("PATCH",`/api/partner-integration/leads/${t}/status`,{status:s}),onSuccess:()=>R.invalidateQueries({queryKey:["/api/partner-integration/leads"]})}),W=T({mutationFn:t=>C("POST","/api/partner-integration/investors",t),onSuccess:()=>{R.invalidateQueries({queryKey:["/api/partner-integration/investors"]}),w({name:"",email:"",firm:"",role:"",notes:""}),Z(!1),m({title:"Investor added"})},onError:()=>m({title:"Failed to add investor",variant:"destructive"})}),oe=T({mutationFn:t=>C("DELETE",`/api/partner-integration/investors/${t}`),onSuccess:()=>R.invalidateQueries({queryKey:["/api/partner-integration/investors"]})}),te=T({mutationFn:t=>C("POST",`/api/partner-integration/investors/${t}/send-data-room`),onSuccess:(t,s)=>{R.invalidateQueries({queryKey:["/api/partner-integration/investors"]});const l=x==null?void 0:x.contacts.find(g=>g.id===s);m({title:"Data room sent",description:l?`Sent to ${l.name}`:"Email sent"})},onError:()=>m({title:"Send failed",variant:"destructive"})}),ge=T({mutationFn:()=>C("POST","/api/partner-integration/investors/bulk-send-data-room"),onSuccess:t=>{R.invalidateQueries({queryKey:["/api/partner-integration/investors"]}),m({title:`Sent to ${t.sent} investor${t.sent!==1?"s":""}`,description:t.failed?`${t.failed} failed`:void 0})},onError:()=>m({title:"Bulk send failed",variant:"destructive"})}),ce=T({mutationFn:t=>C("POST",`/api/partner-integration/investors/${t}/send-activation-brief`),onSuccess:(t,s)=>{R.invalidateQueries({queryKey:["/api/partner-integration/investors"]});const l=x==null?void 0:x.contacts.find(g=>g.id===s);m({title:"Activation brief sent",description:l?`Sent to ${l.name}`:"Email sent"})},onError:()=>m({title:"Send failed",variant:"destructive"})}),K=T({mutationFn:({id:t,decision:s,notes:l})=>C("PATCH",`/api/creator-activations/${t}/decision`,{decision:s,notes:l}),onSuccess:()=>{R.invalidateQueries({queryKey:["/api/creator-activations"]}),m({title:"Decision recorded"})},onError:()=>m({title:"Failed to update decision",variant:"destructive"})}),Te=T({mutationFn:t=>C("POST",`/api/creator-activations/${t}/distribute-qr`),onSuccess:(t,s)=>{R.invalidateQueries({queryKey:["/api/creator-activations"]}),m({title:"QR distributed",description:"Activation is now live"})},onError:()=>m({title:"QR distribution failed",variant:"destructive"})}),be=T({mutationFn:t=>C("POST","/api/activation-reports",t),onSuccess:()=>{R.invalidateQueries({queryKey:["/api/activation-reports"]}),V(null),v({reportTitle:"",brandName:"",brandLogoUrl:"",accentColor:"#3b82f6",preparedFor:""}),m({title:"Report ordered",description:"Click Generate to build the report"})},onError:()=>m({title:"Failed to create report",variant:"destructive"})}),ve=T({mutationFn:t=>C("POST",`/api/activation-reports/${t}/generate`),onSuccess:()=>{R.invalidateQueries({queryKey:["/api/activation-reports"]}),m({title:"Report generated",description:"Shareable link is ready"})},onError:()=>m({title:"Generation failed",variant:"destructive"})}),de=T({mutationFn:({id:t,email:s})=>C("POST",`/api/activation-reports/${t}/deliver`,{email:s}),onSuccess:()=>{R.invalidateQueries({queryKey:["/api/activation-reports"]}),ie(null),we(""),m({title:"Report sent",description:"Email delivered with report link"})},onError:()=>m({title:"Delivery failed",variant:"destructive"})}),ae=(_==null?void 0:_.stats)??{},se={total:Oe.length,contacted:Object.values(L).filter(t=>t!=="not_contacted").length,responded:Object.values(L).filter(t=>t==="responded"||t==="meeting_set").length,meetings:Object.values(L).filter(t=>t==="meeting_set").length};return e.jsxs("div",{className:"min-h-screen bg-[#0A0F1E]",children:[e.jsx("div",{className:"border-b border-slate-800 bg-slate-900/50",children:e.jsxs("div",{className:"container mx-auto px-4 py-4 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(o,{variant:"ghost",size:"sm",className:"text-slate-400 hover:text-white",asChild:!0,children:e.jsxs(Ze,{href:"/integrate",children:[e.jsx(It,{className:"w-4 h-4 mr-1"})," Integration Hub"]})}),e.jsx("span",{className:"text-slate-600",children:"|"}),e.jsx("h1",{className:"text-white font-semibold",children:"Partner Integration Ops"})]}),e.jsx(n,{className:"bg-blue-500/20 text-blue-300 border-blue-500/30",children:"Internal"})]})}),e.jsxs("div",{className:"container mx-auto px-4 py-8",children:[e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-8",children:[{label:"Inbound Leads",value:ae.total??0,icon:Re,color:"text-blue-400"},{label:"Campaign Platforms",value:ae.campaign_platforms??0,icon:ht,color:"text-purple-400"},{label:"DMOs",value:ae.dmos??0,icon:Bt,color:"text-emerald-400"},{label:"New (Unreviewed)",value:ae.new_leads??0,icon:Ke,color:"text-amber-400"}].map(({label:t,value:s,icon:l,color:g})=>e.jsx(j,{className:"bg-slate-900/60 border-slate-800",children:e.jsx(f,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-slate-400 text-xs mb-1",children:t}),e.jsx("p",{className:`text-2xl font-bold ${g}`,children:s})]}),e.jsx(l,{className:`w-8 h-8 ${g} opacity-30`})]})})},t))}),e.jsxs(At,{defaultValue:"dmo_outreach",className:"space-y-6",children:[e.jsxs(Pt,{className:"bg-slate-900 border border-slate-800",children:[e.jsxs(le,{value:"dmo_outreach",className:"data-[state=active]:bg-slate-700",children:[e.jsx(Ne,{className:"w-4 h-4 mr-2"}),"DMO Outreach (",Oe.length," contacts)"]}),e.jsxs(le,{value:"inbound",className:"data-[state=active]:bg-slate-700",children:[e.jsx(_e,{className:"w-4 h-4 mr-2"}),"Inbound Leads (",((je=_==null?void 0:_.leads)==null?void 0:je.length)??0,")"]}),e.jsxs(le,{value:"platform_intel",className:"data-[state=active]:bg-slate-700",children:[e.jsx(pt,{className:"w-4 h-4 mr-2"}),"Platform Intel"]}),e.jsxs(le,{value:"investors",className:"data-[state=active]:bg-slate-700","data-testid":"tab-investors",children:[e.jsx(gt,{className:"w-4 h-4 mr-2"}),"Investors (",((fe=x==null?void 0:x.contacts)==null?void 0:fe.length)??0,")"]}),e.jsxs(le,{value:"activations",className:"data-[state=active]:bg-slate-700","data-testid":"tab-activations",children:[e.jsx(Xe,{className:"w-4 h-4 mr-2"}),"Activations (",((a=k==null?void 0:k.activations)==null?void 0:a.length)??0,")"]}),e.jsxs(le,{value:"outreach",className:"data-[state=active]:bg-slate-700","data-testid":"tab-outreach",children:[e.jsx(Fe,{className:"w-4 h-4 mr-2"}),"Outreach"]}),e.jsxs(le,{value:"platform_pipeline",className:"data-[state=active]:bg-slate-700","data-testid":"tab-platform-pipeline",children:[e.jsx(et,{className:"w-4 h-4 mr-2"}),"Platform Pipeline"]})]}),e.jsxs(ne,{value:"dmo_outreach",children:[e.jsx("div",{className:"mb-4 grid grid-cols-4 gap-3",children:[{label:"Total Contacts",value:se.total,color:"text-white"}
1,{label:"Outreach Sent",value:se.contacted,color:"text-blue-400"},{label:"Responded",value:se.responded,color:"text-amber-400"},{label:"Meetings Set",value:se.meetings,color:"text-emerald-400"}].map(({label:t,value:s,color:l})=>e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-xl p-4 text-center",children:[e.jsx("p",{className:`text-xl font-bold ${l}`,children:s}),e.jsx("p",{className:"text-slate-500 text-xs mt-0.5",children:t})]},t))}),e.jsx("div",{className:"space-y-3",children:Oe.map(t=>{const s=L[t.id]??"not_contacted",l=ct[s],g=l.icon;return e.jsx(j,{className:`bg-slate-900/60 border-slate-800 transition-colors ${s==="not_a_fit"?"opacity-50":""}`,"data-testid":`card-dmo-${t.id}`,children:e.jsx(f,{className:"p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("p",{className:"font-semibold text-white text-sm",children:t.name}),e.jsxs(n,{className:`${l.color} text-xs`,children:[e.jsx(g,{className:"w-3 h-3 mr-1"}),l.label]}),e.jsx(n,{className:"bg-slate-800 text-slate-400 border-slate-700 text-xs",children:t.event.includes("eTourism")?"eTourism Summit":"Marketing Outlook"})]}),e.jsxs("p",{className:"text-slate-400 text-xs mb-0.5",children:[t.title," · ",t.org]}),t.contactType&&e.jsxs("div",{className:"mb-1.5",children:[t.contactType==="channel_partner"&&e.jsx(n,{className:"bg-purple-500/20 text-purple-300 border-purple-500/30 text-xs",children:"Channel Partner Target"}),t.contactType==="direct_prospect"&&e.jsx(n,{className:"bg-blue-500/20 text-blue-300 border-blue-500/30 text-xs",children:"Direct Prospect"}),t.contactType==="validation_partner"&&e.jsx(n,{className:"bg-amber-500/20 text-amber-300 border-amber-500/30 text-xs",children:"Validation / Advisory"}),t.contactType==="long_cycle"&&e.jsx(n,{className:"bg-slate-700 text-slate-400 border-slate-600 text-xs",children:"Long Cycle"})]}),e.jsx("p",{className:"text-slate-500 text-xs mb-1.5",children:t.notes}),t.platformIntel&&e.jsxs("div",{className:"bg-slate-800/60 rounded-lg p-2.5 mb-2 border border-slate-700/50",children:[e.jsxs("p",{className:"text-xs font-medium text-slate-400 mb-1 flex items-center gap-1",children:[e.jsx(vt,{className:"w-3 h-3"})," Platform Intelligence"]}),e.jsx("p",{className:"text-xs text-slate-400 leading-relaxed",children:t.platformIntel}),t.platforms&&t.platforms.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5 mt-2",children:t.platforms.map(c=>e.jsx(n,{className:"bg-slate-700 text-slate-300 border-slate-600 text-xs",children:c},c))})]}),e.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[t.email&&e.jsxs("a",{href:`mailto:${t.email}`,className:"flex items-center gap-1 text-blue-400 text-xs hover:underline",children:[e.jsx(Ne,{className:"w-3 h-3"}),t.email]}),t.phone&&e.jsxs("span",{className:"flex items-center gap-1 text-slate-400 text-xs",children:[e.jsx(Lt,{className:"w-3 h-3"}),t.phone]}),t.linkedin&&e.jsxs("a",{href:t.linkedin,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-400 text-xs hover:underline",children:[e.jsx($e,{className:"w-3 h-3"}),"LinkedIn"]})]})]}),e.jsxs("div",{className:"shrink-0 w-40 flex flex-col gap-2",children:[e.jsxs(De,{value:s,onValueChange:c=>z(t.id,c),children:[e.jsx(qe,{className:"h-8 text-xs bg-slate-800/60 border-slate-700 text-white",children:e.jsx(Ge,{})}),e.jsx(Be,{children:Object.entries(ct).map(([c,I])=>e.jsx(Ve,{value:c,className:"text-xs",children:I.label},c))})]}),t.email&&e.jsxs(o,{size:"sm",variant:"outline",className:`h-8 text-xs w-full ${E[t.id]?"border-emerald-500/40 text-emerald-400":"border-blue-500/40 text-blue-400 hover:bg-blue-500/10"}`,onClick:()=>H(t),disabled:N[t.id]||E[t.id],"data-testid":`btn-demo-${t.id}`,children:[N[t.id]?e.jsx(he,{className:"w-3 h-3 mr-1 animate-spin"}):E[t.id]?e.jsx(Y,{className:"w-3 h-3 mr-1"}):e.jsx(xe,{className:"w-3 h-3 mr-1"}),E[t.id]?"Demo Sent":"Request Demo"]})]})]})})},t.id)})})]}),e.jsx(ne,{value:"inbound",children:Le?e.jsx("div",{className:"text-center py-12 text-slate-400",children:"Loading leads..."}):(r=_==null?void 0:_.leads)!=null&&r.length?e.jsx("div",{className:"space-y-3",children:_.leads.map(t=>{const s=J[t.status]??J.new;return e.jsx(j,{className:"bg-slate-900/60 border-slate-800","data-testid":`card-lead-${t.id}`,children:e.jsx(f,{className:"p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx("p",{className:"font-semibold text-white text-sm",children:t.company}),e.jsx(n,{className:`${s.color} text-xs`,children:s.label}),e.jsx(n,{className:"bg-slate-800 text-slate-400 border-slate-700 text-xs",children:t.audienceType==="campaign_platform"?"Campaign Platform":t.audie
1nceType==="dmo"?"DMO":"Other"}),t.platform&&e.jsx(n,{className:"bg-purple-500/10 text-purple-300 border-purple-500/20 text-xs",children:t.platform})]}),e.jsx("p",{className:"text-slate-400 text-xs mb-0.5",children:t.contactName}),e.jsxs("a",{href:`mailto:${t.contactEmail}`,className:"text-blue-400 text-xs hover:underline flex items-center gap-1",children:[e.jsx(Ne,{className:"w-3 h-3"}),t.contactEmail]}),t.useCase&&e.jsx("p",{className:"text-slate-500 text-xs mt-2 line-clamp-2",children:t.useCase}),e.jsx("p",{className:"text-slate-600 text-xs mt-1",children:t.createdAt?new Date(t.createdAt).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}):""})]}),e.jsx("div",{className:"shrink-0 w-36",children:e.jsxs(De,{value:t.status,onValueChange:l=>ke.mutate({id:t.id,status:l}),children:[e.jsx(qe,{className:"h-8 text-xs bg-slate-800/60 border-slate-700 text-white",children:e.jsx(Ge,{})}),e.jsx(Be,{children:Object.entries(J).map(([l,g])=>e.jsx(Ve,{value:l,className:"text-xs",children:g.label},l))})]})})]})})},t.id)})}):e.jsxs("div",{className:"text-center py-16",children:[e.jsx("p",{className:"text-slate-400 mb-2",children:"No inbound leads yet."}),e.jsx("p",{className:"text-slate-500 text-sm",children:"Leads submitted via the /integrate page will appear here."}),e.jsx(o,{variant:"outline",className:"mt-4 border-slate-600 text-slate-300",asChild:!0,children:e.jsx(Ze,{href:"/integrate",children:"View Integration Page →"})})]})}),e.jsx(ne,{value:"platform_intel",children:e.jsx(Gt,{})}),e.jsxs(ne,{value:"investors",children:[e.jsx("div",{className:"mb-5 grid grid-cols-3 gap-3",children:[{label:"Total Contacts",value:((M=x==null?void 0:x.contacts)==null?void 0:M.length)??0,color:"text-white"},{label:"Data Room Sent",value:((p=x==null?void 0:x.contacts)==null?void 0:p.filter(t=>t.dataRoomSentAt).length)??0,color:"text-blue-400"},{label:"With Direct Email",value:(($=x==null?void 0:x.contacts)==null?void 0:$.filter(t=>t.email).length)??0,color:"text-emerald-400"}].map(({label:t,value:s,color:l})=>e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-xl p-4 text-center",children:[e.jsx("p",{className:`text-xl font-bold ${l}`,children:s}),e.jsx("p",{className:"text-slate-500 text-xs mt-0.5",children:t})]},t))}),e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("p",{className:"text-slate-400 text-sm",children:["Minority-founder investor pipeline · ",e.jsx("a",{href:"https://docsend.com/view/s/7pbfuneu3vv7p6jx",target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:underline",children:"DocSend data room ↗"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(o,{size:"sm",variant:"outline",className:"border-emerald-500/40 text-emerald-400 hover:bg-emerald-500/10 text-xs",onClick:()=>ge.mutate(),disabled:ge.isPending,"data-testid":"btn-bulk-send-investors",children:[ge.isPending?e.jsx(he,{className:"w-3 h-3 mr-1.5 animate-spin"}):e.jsx(xe,{className:"w-3 h-3 mr-1.5"}),"Send Data Room to All (Unsent)"]}),e.jsxs(o,{size:"sm",className:"bg-blue-600 hover:bg-blue-700 text-xs",onClick:()=>Z(!y),"data-testid":"btn-add-investor",children:[e.jsx(Ee,{className:"w-3 h-3 mr-1.5"}),"Add Contact"]})]})]}),y&&e.jsxs(j,{className:"bg-slate-900/80 border-slate-700 mb-4",children:[e.jsx(q,{className:"pb-3 pt-4 px-4",children:e.jsx(G,{className:"text-sm text-white",children:"Add Investor / Fund"})}),e.jsxs(f,{className:"px-4 pb-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-3",children:[e.jsx(F,{placeholder:"Name or org *",value:u.name,onChange:t=>w({...u,name:t.target.value}),className:"bg-slate-800 border-slate-700 text-white text-sm h-8","data-testid":"input-investor-name"}),e.jsx(F,{placeholder:"Email (if available)",value:u.email,onChange:t=>w({...u,email:t.target.value}),className:"bg-slate-800 border-slate-700 text-white text-sm h-8","data-testid":"input-investor-email"}),e.jsx(F,{placeholder:"Firm / fund",value:u.firm,onChange:t=>w({...u,firm:t.target.value}),className:"bg-slate-800 border-slate-700 text-white text-sm h-8"}),e.jsx(F,{placeholder:"Role / title",value:u.role,onChange:t=>w({...u,role:t.target.value}),className:"bg-slate-800 border-slate-700 text-white text-sm h-8"})]}),e.jsx(Rt,{placeholder:"Notes",value:u.notes,onChange:t=>w({...u,notes:t.target.value}),className:"bg-slate-800 border-slate-700 text-white text-sm mb-3 min-h-[60
1px]"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o,{size:"sm",className:"bg-blue-600 hover:bg-blue-700 text-xs",onClick:()=>W.mutate(u),disabled:!u.name||W.isPending,children:W.isPending?"Adding...":"Add"}),e.jsx(o,{size:"sm",variant:"ghost",className:"text-slate-400 text-xs",onClick:()=>Z(!1),children:"Cancel"})]})]})]}),Me?e.jsx("div",{className:"text-center py-12 text-slate-400 text-sm",children:"Loading contacts..."}):e.jsx("div",{className:"space-y-3",children:((x==null?void 0:x.contacts)??[]).map(t=>e.jsx(j,{className:"bg-slate-900/60 border-slate-800","data-testid":`card-investor-${t.id}`,children:e.jsx(f,{className:"p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx("p",{className:"font-semibold text-white text-sm",children:t.name}),t.category&&e.jsx(n,{className:"bg-slate-800 text-slate-400 border-slate-700 text-xs",children:t.category}),t.dataRoomSentAt&&e.jsxs(n,{className:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30 text-xs",children:[e.jsx(Y,{className:"w-3 h-3 mr-1"}),"Data Room Sent"]})]}),t.focus&&e.jsx("p",{className:"text-slate-400 text-xs mb-1.5 leading-relaxed",children:t.focus}),t.notes&&e.jsx("p",{className:"text-slate-500 text-xs mb-2 leading-relaxed",children:t.notes}),e.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[t.email&&e.jsxs("span",{className:"flex items-center gap-1 text-blue-400 text-xs",children:[e.jsx(Ne,{className:"w-3 h-3"}),t.email]}),t.contactUrl&&e.jsxs("a",{href:t.contactUrl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-slate-400 text-xs hover:text-blue-400",children:[e.jsx($e,{className:"w-3 h-3"}),"Website"]})]})]}),e.jsxs("div",{className:"shrink-0 flex flex-col gap-2 items-end",children:[t.email?t.category==="Influencer / Creator Platform"?e.jsxs(o,{size:"sm",variant:"outline",className:`h-8 text-xs ${t.dataRoomSentAt?"border-emerald-500/40 text-emerald-400":"border-emerald-500/40 text-emerald-400 hover:bg-emerald-500/10"}`,onClick:()=>ce.mutate(t.id),disabled:ce.isPending||!!t.dataRoomSentAt,"data-testid":`btn-send-activation-brief-${t.id}`,children:[ce.isPending?e.jsx(he,{className:"w-3 h-3 mr-1 animate-spin"}):t.dataRoomSentAt?e.jsx(Y,{className:"w-3 h-3 mr-1"}):e.jsx(ye,{className:"w-3 h-3 mr-1"}),t.dataRoomSentAt?"Brief Sent":"Send Activation Brief"]}):e.jsxs(o,{size:"sm",variant:"outline",className:`h-8 text-xs ${t.dataRoomSentAt?"border-emerald-500/40 text-emerald-400":"border-blue-500/40 text-blue-400 hover:bg-blue-500/10"}`,onClick:()=>te.mutate(t.id),disabled:te.isPending||!!t.dataRoomSentAt,"data-testid":`btn-send-dataroom-${t.id}`,children:[te.isPending?e.jsx(he,{className:"w-3 h-3 mr-1 animate-spin"}):t.dataRoomSentAt?e.jsx(Y,{className:"w-3 h-3 mr-1"}):e.jsx(tt,{className:"w-3 h-3 mr-1"}),t.dataRoomSentAt?"Sent":"Send Data Room"]}):t.contactUrl?e.jsx("a",{href:t.contactUrl,target:"_blank",rel:"noopener noreferrer",children:e.jsxs(o,{size:"sm",variant:"outline",className:"h-8 text-xs border-slate-600 text-slate-400 hover:bg-slate-800",children:[e.jsx($e,{className:"w-3 h-3 mr-1"}),"Submit Form"]})}):null,e.jsx(o,{size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-600 hover:text-red-400 px-2",onClick:()=>oe.mutate(t.id),"data-testid":`btn-delete-investor-${t.id}`,children:e.jsx(jt,{className:"w-3 h-3"})})]})]})})},t.id))})]}),e.jsx(ne,{value:"outreach",className:"space-y-6",children:e.jsx(qt,{})}),e.jsx(ne,{value:"activations",className:"space-y-4",children:Se?e.jsx("div",{className:"text-center py-12 text-slate-500",children:"Loading activations…"}):(me=k==null?void 0:k.activations)!=null&&me.length?e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"grid grid-cols-4 gap-3 mb-2",children:[{label:"Total",value:k.activations.length,color:"text-blue-400"},{label:"Pending Review",value:k.activations.filter(t=>t.status==="pending_review").length,color:"text-amber-400"},{label:"Approved / Active",value:k.activations.filter(t=>["approved","active"].includes(t.status)).length,color:"text-emerald-400"},{label:"Avg Agent Score",value:Math.round(k.activations.filter(t=>t.agentScore!=null).reduce((t,s)=>t+(s.agentScore??0),0)/Math.max(1,k.activations.filter(t=>t.agentScore!=null).length)),color:"text-purple-400"}].map(({label:t,value:s,color:l})=>e.jsx(j,{className:"bg-slate-900/60 border-slate-800",children:e.jsxs(f,{className:"p-3",children:[e.jsx("p",{className:"text-slate-400 text-xs mb-1",children:t}),e.jsx("p",{className:`text-xl font-bold ${l}`,children:s})]})},t))}),k.activations.map(t=>{var Je;const s=t.status==="pending_review",l=t.status==="approved",g=t.status==="active",c=t.status==="rejected",I=t.agentScore?t.agentScore>=70?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":t.agentScore>=45?"bg-amber-500/20 text-amber-300 border-amber-500/30":"bg-red-500/20 text-red-300 border-red-500/30":"bg-slate-700 text-slate-400",ut=g?"bg-blue-500/20 text-blue-300 border-blue-500/30":l?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":c?"bg-red-500/20 text-red-300 border-red-500/30":"bg-amber-500/20 text-amber-300 border-amber-500/30";return e.jsx(j,{className:"bg-slate-900/60 border-slate-800","data-testid":`activation-card-${t.id}`,children:e.jsxs(f,{className:"p-5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4 mb-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx("span",{className:"text-white font-semibold text-sm",children:t.activationTitle}),e.jsx(n,{className:`text-xs border ${ut}`,children:t.status.replace(/_/g," ")}),t.agentScore!=null&&e.jsxs(n,{className:`text-xs border ${I}`,children:["Agent score: ",t.agentScore]}),t.agentDecision==="approved"&&e.jsxs(n,{className:"text-xs bg-emerald-500/10 text-emerald-300 border-emerald-500/30",children:[e.jsx(Y,{className:"w-3 h-3 mr-1"})," Auto-approved"]})]}),e.jsxs("div",{className:"flex items-center gap-3 text-slate-400 text-xs flex-wrap",children:[e.jsx("span",{className:"font-medium text-slate-300",children:t.submitterName}),t.organizationName&&e.jsxs("span",{children:["· ",t.organizationName]}),t.socialHandles&&e.jsx("span",{className:"text-blue-400",children:t.socialHandles}),t.inquiryNumber&&e.jsx("span",{className:"font-mono text-slate-500",children:t.inquiryNumber})]})]}),e.jsx("div",{className:"flex gap-2 shrink-0",children:t.deckUrl&&e.jsx(o,{size:"sm",variant:"outline",className:"border-slate-700 text-slate-300 h-7 text-xs",asChild:!0,children:e.jsxs("a",{href:t.deckUrl,target:"_blank",rel:"noopener noreferrer",children:[e.jsx(tt,{className:"w-3 h-3 mr-1"})," Deck"]})})})]}),e.jsxs("div",{className:"flex items-center gap-4 text-xs text-slate-400 mb-3",children:[(t.city||t.locationName)&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ft,{className:"w-3 h-3"}
1),[t.locationName,t.city].filter(Boolean).join(", ")]}),t.activationWindow&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Ie,{className:"w-3 h-3"}),t.activationWindow]}),t.activationType&&e.jsx(n,{className:"bg-slate-800 text-slate-400 border-slate-700 text-xs",children:t.activationType.replace(/_/g," ")})]}),(Je=t.agentReasons)!=null&&Je.length?e.jsxs("div",{className:"bg-slate-800/50 rounded-lg p-3 mb-3 space-y-1",children:[e.jsx("p",{className:"text-slate-500 text-xs font-semibold uppercase tracking-wide mb-1.5",children:"Slant Brain Evaluation"}),t.agentReasons.map((D,re)=>e.jsxs("div",{className:"flex items-start gap-1.5 text-xs text-slate-300",children:[e.jsx("span",{className:"text-slate-500 mt-0.5",children:"·"}),D]},re))]}):null,e.jsx("div",{className:"grid grid-cols-5 gap-2 mb-3",children:[{label:"QR Scans",proj:t.projectedQrScans,actual:null},{label:"Visits",proj:t.projectedVisits,actual:t.actualVisits},{label:"Redemptions",proj:t.projectedRedemptions,actual:t.actualRedemptions},{label:"Reach",proj:t.projectedReach,actual:null},{label:"Chain Ext.",proj:t.projectedChainExtensions,actual:null}].filter(D=>D.proj!=null).map(({label:D,proj:re,actual:b})=>e.jsxs("div",{className:"bg-slate-800/60 rounded-lg p-2 text-center",children:[e.jsx("p",{className:"text-slate-500 text-xs mb-0.5",children:D}),e.jsx("p",{className:"text-white text-sm font-bold",children:(re??0).toLocaleString()}),b!=null&&e.jsxs("p",{className:`text-xs font-medium ${b>=(re??0)?"text-emerald-400":"text-amber-400"}`,children:["actual: ",b.toLocaleString()]})]},D))}),t.qrCode&&e.jsxs("div",{className:"flex items-center gap-3 p-3 bg-emerald-500/10 border border-emerald-500/20 rounded-lg mb-3",children:[e.jsx("img",{src:t.qrCode,alt:"Activation QR",className:"w-16 h-16 rounded"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-emerald-300 text-xs font-semibold",children:"QR Distributed"}),e.jsx("p",{className:"text-slate-400 text-xs mt-0.5",children:t.qrDistributedAt?new Date(t.qrDistributedAt).toLocaleDateString():""})]})]}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[s&&e.jsxs(e.Fragment,{children:[e.jsxs(o,{size:"sm",className:"bg-emerald-600 hover:bg-emerald-700 text-white h-7 text-xs",onClick:()=>K.mutate({id:t.id,decision:"approved"}),disabled:K.isPending,"data-testid":`btn-approve-${t.id}`,children:[e.jsx(Mt,{className:"w-3 h-3 mr-1"})," Approve"]}),e.jsxs(o,{size:"sm",variant:"outline",className:"border-amber-600/40 text-amber-400 hover:bg-amber-600/10 h-7 text-xs",onClick:()=>K.mutate({id:t.id,decision:"pending_revision"}),disabled:K.isPending,"data-testid":`btn-revision-${t.id}`,children:[e.jsx($t,{className:"w-3 h-3 mr-1"})," Request Revision"]}),e.jsxs(o,{size:"sm",variant:"outline",className:"border-red-600/40 text-red-400 hover:bg-red-600/10 h-7 text-xs",onClick:()=>K.mutate({id:t.id,decision:"rejected"}),disabled:K.isPending,"data-testid":`btn-reject-${t.id}`,children:[e.jsx(Ot,{className:"w-3 h-3 mr-1"})," Reject"]})]}),l&&!t.qrCode&&e.jsxs(o,{size:"sm",className:"bg-blue-600 hover:bg-blue-700 text-white h-7 text-xs",onClick:()=>Te.mutate(t.id),disabled:Te.isPending,"data-testid":`btn-distribute-qr-${t.id}`,children:[e.jsx(Nt,{className:"w-3 h-3 mr-1"})," Distribute QR"]}),(g||l)&&e.jsx(o,{size:"sm",variant:"outline",className:"border-slate-700 text-slate-300 h-7 text-xs",onClick:()=>K.mutate({id:t.id,decision:"rejected"}),disabled:K.isPending,"data-testid":`btn-revoke-${t.id}`,children:"Revoke"}),(g||l)&&e.jsxs(o,{size:"sm",className:"bg-violet-600 hover:bg-violet-700 text-white h-7 text-xs",onClick:()=>{v(D=>({...D,reportTitle:t.activationTitle})),V({activationId:t.id,activationTitle:t.activationTitle})},"data-testid":`btn-order-report-${t.id}`,children:[e.jsx(Pe,{className:"w-3 h-3 mr-1"})," Order Report"]})]}),(()=>{var re;const D=((re=ee==null?void 0:ee.reports)==null?void 0:re.filter(b=>b.activationId===t.id))??[];return D.length===0?null:e.jsxs("div",{className:"mt-3 pt-3 border-t border-slate-700/50 space-y-2",children:[e.jsx("p",{className:"text-slate-400 text-xs font-semibold uppercase tracking-wide mb-2",children:"Reports"}),D.map(b=>e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(n,{className:`text-xs ${b.status==="generated"||b.status==="delivered"?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":"bg-slate-700 text-slate-400 border-slate-600"}`,children:b.status}),e.jsx("span",{className:"text-slate-300 text-xs truncate max-w-[180px]",children:b.reportTitle??b.activationId}),b.status==="pending"&&e.jsxs(o,{size:"sm",className:"bg-amber-600 hover:bg-amber-700 text-white h-6 text-xs",onClick:()=>ve.mutate(b.id),disabled:ve.isPending,"data-testid":`btn-generate-report-${b.id}`,children:[ve.isPending?e.jsx(ue,{className:"w-3 h-3 animate-spin"}):e.jsx(ye,{className:"w-3 h-3 mr-1"}),"Generate"]}),(b.status==="generated"||b.status==="delivered")&&e.jsxs(e.Fragment,{children:[e.jsxs(o,{size:"sm",variant:"outline",className:"border-slate-600 text-slate-300 h-6 text-xs",onClick:()=>{const Ye=`${window.location.origin}/activation-report/${b.reportToken}`;navigator.clipboard.writeText(Ye),m({title:"Link copied",description:Ye})},"data-testid":`btn-copy-report-link-${b.id}`,children:[e.jsx(_t,{className:"w-3 h-3 mr-1"})," Copy Link"]}),e.jsxs(o,{size:"sm",className:"bg-blue-600 hover:bg-blue-700 text-white h-6 text-xs",onClick:()=>ie({reportId:b.id,token:b.reportToken}),"data-testid":`btn-email-report-${b.id}`,children:[e.jsx(xe,{className:"w-3 h-3 mr-1"})," Email"]})]})]},b.id))]})})()]})},t.id)})]}):e.jsxs("div",{className:"text-center py-12 text-slate-500",children:[e.jsx(Xe,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{className:"text-sm",children:"No activation requests yet."}),e.jsx("p",{className:"text-xs mt-1",children:"Submissions from Presale will appear here for review."})]})}),e.jsx(ne,{value:"platform_pipeline",className:"space-y-6","data-testid":"tab-content-platform-pipeline",children:Ce?e.jsx("div",{className:"text-center py-12 text-slate-400","data-testid":"loading-platform-pipeline",children:"Loading platform pipeline..."}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4","data-testid":"kpi-strip-platform-pipeline",children:[{label:"Platforms Targeted",value:((Qe=d==null?void 0:d.overallKpis)==null?void 0:Qe.totalPlatformsTargeted)??0,color:"text-white",icon:et},{label:"Demos Scheduled",value:((ze=d==null?void 0:d.overallKpis)==null?void 0:ze.demosScheduled)??
10,color:"text-purple-400",icon:Ie},{label:"Active Integrations",value:((He=d==null?void 0:d.overallKpis)==null?void 0:He.activeIntegrations)??0,color:"text-emerald-400",icon:Y},{label:"Conversion Rate",value:`${((Ue=d==null?void 0:d.overallKpis)==null?void 0:Ue.conversionRate)??0}%`,color:"text-blue-400",icon:Fe}].map(({label:t,value:s,color:l,icon:g})=>e.jsx(j,{className:"bg-slate-900/60 border-slate-800",children:e.jsx(f,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-slate-400 text-xs mb-1",children:t}),e.jsx("p",{className:`text-2xl font-bold ${l}`,"data-testid":`kpi-${t.toLowerCase().replace(/\s+/g,"-")}`,children:s})]}),e.jsx(g,{className:`w-8 h-8 ${l} opacity-30`})]})})},t))}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3",children:e.jsxs(G,{className:"text-white text-base flex items-center gap-2",children:[e.jsx(_e,{className:"w-4 h-4 text-blue-400"}),"Pipeline Funnel"]})}),e.jsx(f,{"data-testid":"pipeline-funnel",children:(()=>{const t=(d==null?void 0:d.platformPipeline)??[],s={new:t.reduce((c,I)=>c+I.statusBreakdown.new,0),contacted:t.reduce((c,I)=>c+I.statusBreakdown.contacted,0),demo_scheduled:t.reduce((c,I)=>c+I.statusBreakdown.demo_scheduled,0),active:t.reduce((c,I)=>c+I.statusBreakdown.active,0)},l=Math.max(s.new,s.contacted,s.demo_scheduled,s.active,1),g=[{key:"new",label:"New",count:s.new,color:"bg-blue-500"},{key:"contacted",label:"Contacted",count:s.contacted,color:"bg-amber-500"},{key:"demo_scheduled",label:"Demo Scheduled",count:s.demo_scheduled,color:"bg-purple-500"},{key:"active",label:"Active",count:s.active,color:"bg-emerald-500"}];return e.jsx("div",{className:"space-y-3",children:g.map(c=>e.jsxs("div",{className:"flex items-center gap-3","data-testid":`funnel-stage-${c.key}`,children:[e.jsx("span",{className:"text-slate-400 text-xs w-32 text-right",children:c.label}),e.jsxs("div",{className:"flex-1 h-7 bg-slate-800 rounded-lg overflow-hidden relative",children:[e.jsx("div",{className:`${c.color} h-full rounded-lg transition-all duration-500`,style:{width:`${l>0?c.count/l*100:0}%`,minWidth:c.count>0?"24px":"0"}}),e.jsx("span",{className:"absolute inset-0 flex items-center justify-center text-xs font-semibold text-white",children:c.count})]})]},c.key))})})()})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4","data-testid":"platform-cards",children:((d==null?void 0:d.platformPipeline)??[]).map(t=>{var s,l;return e.jsxs(j,{className:"bg-slate-900/60 border-slate-800","data-testid":`platform-card-${t.platform.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(q,{className:"pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(G,{className:"text-white text-sm font-semibold",children:t.platform}),e.jsx(n,{className:"bg-slate-700 text-slate-300 border-slate-600 text-xs",children:t.category})]})}),e.jsxs(f,{className:"space-y-3",children:[e.jsx("p",{className:"text-slate-400 text-xs leading-relaxed",children:t.integrationAngle}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-slate-500 text-xs",children:"Leads:"}),e.jsx("span",{className:"text-white font-semibold text-sm","data-testid":`platform-lead-count-${t.platform.toLowerCase().replace(/\s+/g,"-")}`,children:t.leadCount})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(t.statusBreakdown).map(([g,c])=>{const I=J[g];return!I||c===0?null:e.jsxs(n,{className:`${I.color} text-xs`,"data-testid":`platform-status-${t.platform.toLowerCase().replace(/\s+/g,"-")}-${g}`,children:[I.label,": ",c]},g)})}),t.latestActivity&&e.jsxs("div",{className:"bg-slate-800/50 rounded-lg p-2 mt-2",children:[e.jsx("p",{className:"text-slate-500 text-xs font-semibold uppercase tracking-wide mb-1",children:"Latest Activity"}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-white font-medium",children:t.latestActivity.company}),e.jsx(n,{className:`${((s=J[t.latestActivity.status])==null?void 0:s.color)??"bg-slate-700 text-slate-400"} text-xs`,children:((l=J[t.latestActivity.status])==null?void 0:l.label)??t.latestActivity.status}),e.jsx("span",{className:"text-slate-500 ml-auto",children:new Date(t.latestActivity.date).toLocaleDateString()})]})]})]})]},t.platform)})}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3",children:e.jsxs(G,{className:"text-white text-base flex items-center gap-2",children:[e.jsx(Re,{className:"w-4 h-4 text-blue-400"}),"Recent Leads"]})}),e.jsx(f,{"data-testid":"lead-table",children:(((We=d==null?void 0:d.leadTimeline)==null?void 0:We.length)??0)===0?e.jsx("p",{className:"text-slate-500 text-sm text-center py-6",children:"No leads recorded yet."}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-slate-700 text-slate-400 text-xs",children:[e.jsx("th",{className:"text-left py-2 pr-4",children:"Platform"}),e.jsx("th",{className:"text-left py-2 pr-4",children:"Company"}),e.jsx("th",{className:"text-left py-2 pr-4",children:"Contact"}),e.jsx("th",{className:"text-left py-2 pr-4",children:"Status"}),e.jsx("th",{className:"text-left py-2",children:"Date"})]})}),e.jsx("tbody",{children:((d==null?void 0:d.leadTimeline)??[]).map(t=>{var s,l;return e.jsxs("tr",{className:"border-b border-slate-800/50 hover:bg-slate-800/30","data-testid":`lead-row-${t.id}`,children:[e.jsx("td",{className:"py-2 pr-4",children:e.jsx("span",{className:"text-slate-300 text-xs",children:t.platform??"—"})}),e.jsx("td",{className:"py-2 pr-4",children:e.jsx("span",{className:"text-white text-xs font-medium",children:t.company})}),e.jsx("td",{className:"py-2 pr-4",children:e.jsx("span",{className:"text-slate-400 text-xs",children:t.contactName})}),e.jsx("td",{className:"py-2 pr-4",children:e.jsx(n,{className:`${((s=J[t.status])==null?void 0:s.color)??"bg-slate-700 text-slate-400"} text-xs`,children:((l=J[t.status])==null?void 0:l.label)??t.status})}),e.jsx("td",{className:"py-2",children:e.jsx("span",{className:"text-slate-500 text-xs",children:new Date(t.createdAt).toLocaleDateString()})})]},t.id)})})]})})})]})]})})]})]}),e.jsx(at,{open:!!O,onOpenChange:t=>!t&&V(null),children:e.jsxs(st,{className:"bg-slate-900 border-slate-700 text-white max-w-md",children:[e.jsx(rt,{children:e.jsxs(lt,{className:"text-white flex items-center gap-2",children:[e.jsx(Pe,{className:"w-4 h-4 text-violet-400"})," Order Attribution Report"]})}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsxs("p",{className:"text-slate-400 text-sm",children:["Customize branding and generate a shareable PDF-style report for ",e.jsx("span",{className:"text-white font-medium",children:O==null?void 0:O.activationTitle}),"."]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-300 text-xs mb-1 block",children:"Report Title"}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8",value:A.reportTitle,onChange:t=>v(s=>({...s,reportTitle:t.target.value})),placeholder:"e.g. London Summer Activation Report","data-testid":"input-report-title"})]}),e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-300 text-xs mb-1 block",children:"Brand Name"}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8",value:A.brandName,onChange:t=>v(s=>({...s,brandName:t.target.value})),placeholder:"e.g. Visit London","data-testid":"input-report-brand-name"})]}),e.jsxs("div",{children:[e.jsxs(Q,{className:"text-slate-300 text-xs mb-1 block",children:["Brand Logo URL ",e.jsx("span",{className:"text-slate-500",children:"(optional)"})]}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8",value:A.brandLogoUrl,onChange:t=>v(s=>({...s,brandLogoUrl:t.target.value})),placeholder:"https://...","data-testid":"input-report-logo-url"})]}),e.jsx("div",{className:"flex gap-3",children:e.jsxs("div",{className:"flex-1",children:[e.jsx(Q,{className:"text-slate-300 text-xs mb-1 block",children:"Accent Colour"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"color",value:A.accentColor,onChange:t=>v(s=>({...s,accentColor:t.target.value})),className:"w-8 h-8 rounded cursor-pointer border-0 bg-transparent","data-testid":"input-report-accent-color"}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8 font-mono",value:A.accentColor,onChange:t=>v(s=>({...s,accentColor:t.target.value}))})]})]})}),e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-300 text-xs mb-1 block",children:"Prepared For"}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8",value:A.preparedFor,onChange:t=>v(s=>({...s,preparedFor:t.target.value})),placeholder:"e.g. VisitBritain / Sarah Johnson","data-testid":"input-report-prepared-for"})]})]})]}),e.jsxs(nt,{children:[e.jsx(o,{variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>V(null),children:"Cancel"}),e.jsxs(o,{className:"bg-violet-600 hover:bg-violet-700 text-white",disabled:be.isPending||!A.reportTitle.trim(),onClick:()=>O&&be.mutate({...A,activationId:O.activationId}),"data-testid":"btn-confirm-order-report",children:[be.isPending?e.jsx(ue,{className:"w-4 h-4 animate-spin mr-1"}):e.jsx(Pe,{className:"w-4 h-4 mr-1"}),"Order Report"]})]})]})}),e.jsx(at,{open:!!P,onOpenChange:t=>!t&&ie(null),children:e.jsxs(st,{className:"bg-slate-900 border-slate-700 text-white max-w-sm",children:[e.jsx(rt,{children:e.jsxs(lt,{className:"text-white flex items-center gap-2",children:[e.jsx(xe,{className:"w-4 h-4 text-blue-400"})," Email Report"]})}),e.jsxs("div",{className:"space-y-3 py-2",children:[e.jsx("p",{className:"text-slate-400 text-sm",children:"Send the report link to an email address."}),e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-300 text-xs mb-1 block",children:"Recipient Email"}),e.jsx(F,{className:"bg-slate-800 border-slate-700 text-white text-sm h-8",type:"email",value:X,onChange:t=>we(t.target.value),placeholder:"[email protected]","data-testid":"input-deliver-email"})]}),P&&e.jsxs("div",{className:"text-xs text-slate-500 font-mono bg-slate-800 rounded px-2 py-1 truncate",children:[window.location.origin,"/activation-report/",P.token]})]}),e.jsxs(nt,{children:[e.jsx(o,{variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>ie(null),children:"Cancel"}),e.jsxs(o,{className:"bg-blue-600 hover:bg-blue-700 text-white",disabled:de.isPending||!X.trim(),onClick:()=>P&&de.mutate({id:P.reportId,email:X}),"data-testid":"btn-confirm-deliver-report",children:[de.isPending?e.jsx(ue,{className:"w-4 h-4 animate-spin mr-1"}):e.jsx(xe,{className:"w-4 h-4 mr-1"}),"Send Report"]})]})]})})]})}function qt(){var de,ae,se,je,fe;const[L,pe]=S.useState(!1),[N,U]=S.useState(!1),[E,i]=S.useState(!1),[y,Z]=S.useState({eventId:"",type:"",status:""}),[u,w]=S.useState({eventId:"",contactType:"creator",name:"",socialHandle:"",category:"",followerCount:"",outreachChannel:"instagram",notes:""}),[O,V]=S.useState({channel:"",weekNumber:1,month:new Date().getMonth()+1,year:new Date().getFullYear(),outreachCount:0,responses:0,meetings:0,approvals:0,liveUnits:0,participants:0,contentAssets:0,referralInquiries:0,notes:""}),A=mt(),{toast:v}=xt(),{data:P,isLoading:ie}=B({queryKey:["/api/outreach/dashboard"]}),{data:X,isLoading:we}=B({queryKey:["/api/outreach/alerts"]}),{data:R}=B({queryKey:["/api/outreach/agent/runs"]}),{data:m}=B({queryKey:["/api/outreach/targets"]}),{data:z}=B({queryKey:["/api/outreach/events"]}),{data:H,refetch:d}=B({queryKey:["/api/outreach/prospects",y],queryFn:()=>{const a=new URLSearchParams;return y.eventId&&a.set("eventId",y.eventId),y.type&&a.set("type",y.type),y.status&&a.set("status",y.status),fetch(`/api/outreach/prospects?${a}`).then(r=>r.json())}}),[Ce,_]=S.useState(!1),Le=async a=>{_(!0);try{const r=new FormData;r.append("screenshot",a);const M=await fetch("/api/outreach/prospects/parse-profile",{method:"POST",body:r});if(!M.ok)throw new Error("Parse failed");const p=await M.json();w($=>({...$,name:p.name??$.name,socialHandle:p.handle??$.socialHandle,category:p.category??$.category,followerCount:p.followerCount?String(p.followerCount):$.followerCount,outreachChannel:p.platform??$.outreachChannel,notes:p.bio?`Bio: ${p.bio}`:$.notes})),i(!0),v({title:"Profile extracted",description:"Review and confirm the details below."})}catch{v({title:"Could not read screenshot",description:"Try a clearer image or fill in manually.",variant:"destructive"})}finally{_(!1)}},x=T({mutationFn:a=>C("POST","/api/outreach/prospects",{eventId:parseInt(a.eventId),contactType:a.contactType,name:a.name,socialHandle:a.socialHandle||null,category:a.category||null,followerCount:a.followerCount?parseInt(a.followerCount):null,outreachChannel:a.outreachChannel,notes:a.notes||null}),onSuccess:()=>{d(),i(!1),w({eventId:"",contactType:"creator",name:"",socialHandle:"",category:"",followerCount:"",outreachChannel:"instagram",notes:""}),v({title:"Prospect added"})},onError:()=>v({title:"Failed to add prospect",variant:"destructive"})}),Me=T({mutationFn:({id:a,status:r})=>C("PATCH",`/api/outreach/prospects/${a}/status`,{status:r}),onSuccess:()=>{d(),v({title:"Status updated"})},onError:()=>v({title:"Failed to update status",variant:"destructive"})}),k=T({mutationFn:a=>C("POST","/api/outreach/actuals",a),onSuccess:()=>
1{A.invalidateQueries({queryKey:["/api/outreach/dashboard"]}),A.invalidateQueries({queryKey:["/api/outreach/actuals"]}),v({title:"Actuals recorded"}),V(a=>({...a,outreachCount:0,responses:0,meetings:0,approvals:0,liveUnits:0,participants:0,contentAssets:0,referralInquiries:0,notes:""}))},onError:()=>v({title:"Failed to record actuals",variant:"destructive"})}),Se=T({mutationFn:a=>C("PATCH",`/api/outreach/alerts/${a}/acknowledge`),onSuccess:()=>{A.invalidateQueries({queryKey:["/api/outreach/alerts"]}),v({title:"Alert acknowledged"})},onError:()=>v({title:"Failed to acknowledge",variant:"destructive"})}),ee=T({mutationFn:()=>C("POST","/api/outreach/agent/run"),onSuccess:()=>{A.invalidateQueries({queryKey:["/api/outreach/agent/runs"]}),A.invalidateQueries({queryKey:["/api/outreach/alerts"]}),A.invalidateQueries({queryKey:["/api/outreach/dashboard"]}),v({title:"Agent run triggered",description:"Processing in background..."})},onError:()=>v({title:"Failed to trigger agent",variant:"destructive"})}),h=P==null?void 0:P.kpi,ke=(P==null?void 0:P.channels)??[],W=(P==null?void 0:P.quarterProjection)??[],oe=(X==null?void 0:X.alerts)??[],te=(R==null?void 0:R.runs)??[],ge=((de=m==null?void 0:m.targets)==null?void 0:de.map(a=>a.channel))??[],ce=a=>a>=0?"text-emerald-400":a>=-15?"text-amber-400":"text-red-400",K=a=>a>=0?"bg-emerald-500/10 border-emerald-500/20":a>=-15?"bg-amber-500/10 border-amber-500/20":"bg-red-500/10 border-red-500/20",Te=a=>a==="ahead"?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":a==="behind"?"bg-red-500/20 text-red-300 border-red-500/30":"bg-blue-500/20 text-blue-300 border-blue-500/30",be=a=>a==="critical"?"bg-red-500/20 text-red-300 border-red-500/30":a==="high"?"bg-orange-500/20 text-orange-300 border-orange-500/30":a==="medium"?"bg-amber-500/20 text-amber-300 border-amber-500/30":"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",ve=a=>a==="risk"?"bg-red-500/20 text-red-300 border-red-500/30":a==="success"?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":"bg-blue-500/20 text-blue-300 border-blue-500/30";return ie?e.jsx("div",{className:"text-center py-12 text-slate-400",children:"Loading outreach dashboard..."}):e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-white font-semibold text-lg","data-testid":"text-outreach-title",children:"Outreach Operating Model"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(o,{size:"sm",variant:"outline",className:"border-slate-600 text-slate-300 hover:text-white hover:border-slate-400 text-xs",onClick:()=>{const a="/api/outreach/prospects/export",r=document.createElement("a");r.href=a,r.download=`slant-prospects-${new Date().toISOString().slice(0,10)}.csv`,document.body.appendChild(r),r.click(),document.body.removeChild(r)},"data-testid":"btn-export-prospects",children:[e.jsx(Et,{className:"w-3 h-3 mr-1.5"}),"Export CSV"]}),e.jsxs(o,{size:"sm",variant:"outline",className:"border-emerald-500/40 text-emerald-400 hover:bg-emerald-500/10 text-xs",onClick:()=>i(!E),"data-testid":"btn-add-prospect",children:[e.jsx(Ee,{className:"w-3 h-3 mr-1.5"}),"Add Prospect"]}),e.jsxs(o,{size:"sm",className:"bg-violet-600 hover:bg-violet-700 text-white text-xs",onClick:()=>ee.mutate(),disabled:ee.isPending,"data-testid":"btn-run-agent",children:[ee.isPending?e.jsx(ue,{className:"w-3 h-3 mr-1.5 animate-spin"}):e.jsx(Dt,{className:"w-3 h-3 mr-1.5"}),"Run Agent Now"]})]})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4","data-testid":"outreach-kpi-strip",children:[{label:"Total Outreach (MTD)",target:h==null?void 0:h.totalOutreach.target,actual:h==null?void 0:h.totalOutreach.actual,variance:h==null?void 0:h.totalOutreach.variance,icon:xe},{label:"Live Activations",target:h==null?void 0:h.liveActivations.target,actual:h==null?void 0:h.liveActivations.actual,variance:h==null?void 0:h.liveActivations.variance,icon:ye},{label:"Completed Participants",target:null,actual:h==null?void 0:h.completedParticipants.actual,variance:null,icon:Re},{label:"Flywheel Yield",target:null,actual:h==null?void 0:h.flywheelYield.actual,variance:null,icon:he}].map(({label:a,target:r,actual:M,variance:p,icon:$})=>e.jsx(j,{className:`border ${p!=null?K(p??0):"bg-slate-900/60 border-slate-800"}`,"data-testid":`kpi-card-${a.toLowerCase().replace(/[^a-z]/g,"-")}`,children:e.jsxs(f,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("p",{className:"text-slate-400 text-xs",children:a}),e.jsx($,{className:"w-4 h-4 text-slate-500"})]}),e.jsx("p",{className:"text-2xl font-bold text-white",children:M??0}),r!=null&&e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[e.jsxs("span",{className:"text-slate-500 text-xs",children:["Target: ",r]}),p!=null&&e.jsxs("span",{className:`text-xs font-medium ${ce(p)}`,children:[p>=0?"+":"",p,"%"]})]})]})},a))}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3",children:e.jsx(G,{className:"text-white text-sm",children:"Channel Performance"})}),e.jsx(f,{className:"p-0",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm","data-testid":"outreach-channel-table",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-slate-700 text-slate-400 text-xs",children:[e.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Channel"}),e.jsx("th",{className:"text-right px-4 py-2 font-medium",children:"Monthly Target"}),e.jsx("th",{className:"text-right px-4 py-2 font-medium",children:"MTD Actual"}),e.jsx("th",{className:"text-right px-4 py-2 font-medium",children:"Pace %"}),e.jsx("th",{className:"text-right px-4 py-2 font-medium",children:"Live Target"}),e.jsx("th",{className:"text-right px-4 py-2 font-medium",children:"Live Actual"}),e.jsx("th",{className:"text-center px-4 py-2 font-medium",children:"Status"})]})}),e.jsxs("tbody",{children:[ke.map(a=>e.jsxs("tr",{className:"border-b border-slate-800 hover:bg-slate-800/40","data-testid":`channel-row-${a.channel.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx("td",{className:"px-4 py-3 text-white font-medium",children:a.channel}),e.jsx("td",{className:"px-4 py-3 text-right text-slate-300",children:a.outreachTarget}),e.jsx("td",{className:"px-4 py-3 text-right text-white font-medium",children:a.outreachActual}),e.jsxs("td",{className:`px-4 py-3 text-right font-medium ${ce(a.variancePct)}`,children:[a.outreachPace,"%"]}),e.jsx("td",{className:"px-4 py-3 text-right text-slate-300",children:a.liveTarget}),e.jsx("td",{className:"px-4 py-3 text-right text-white font-medium",children:a.liveActual}),e.jsx("td",{className:"px-4 py-3 text-center",children:e.jsx(n,{className:`text-xs ${Te(a.status)}`,"data-testid":`status-badge-${a.channel.toLowerCase().replace(/\s+/g,"-")}`,children:a.status==="on_track"?"On Track":a.status==="behind"?"Behind":"Ahead"})})]},a.id)),ke.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"text-center py-8 text-slate-500 text-xs",children:"No channel targets configured"})})]})]})})})]}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3 pt-4 px-4",children:e.jsxs(G,{className:"text-white text-sm flex items-center justify-between",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Re,{className:"w-4 h-4 text-emerald-400"})," Prospect Queue"]}),e.jsxs("span",{className:"text-slate-400 font-normal text-xs",children:[((ae=H==null?void 0:H.prospects)==null?void 0:ae.length)??0," total"]})]})}),e.jsxs(f,{className:"px-4 pb-4 space-y-3",children:[e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsxs("select",{className:"bg-slate-800 border border-slate-700 text-slate-300 text-xs rounded px-2 py-1",value:y.eventId,onChange:a=>Z(r=>({...r,eventId:a.target.value})),"data-testid":"select-prospect-event",children:[e.jsx("option",{value:"",children:"All events"}),(se=z==null?void 0:z.events)==null?void 0:se.map(a=>e.jsx("option",{value:String(a.id),children:a.title},a.id))]}),e.jsxs("select",{className:"bg-slate-800 border border-slate-700 text-slate-300 text-xs rounded px-2 py-1",value:y.type,onCh
1ange:a=>Z(r=>({...r,type:a.target.value})),"data-testid":"select-prospect-type",children:[e.jsx("option",{value:"",children:"All types"}),e.jsx("option",{value:"creator",children:"Creators"}),e.jsx("option",{value:"merchant",children:"Merchants"})]}),e.jsxs("select",{className:"bg-slate-800 border border-slate-700 text-slate-300 text-xs rounded px-2 py-1",value:y.status,onChange:a=>Z(r=>({...r,status:a.target.value})),"data-testid":"select-prospect-status",children:[e.jsx("option",{value:"",children:"All statuses"}),e.jsx("option",{value:"queued",children:"Queued"}),e.jsx("option",{value:"contacted",children:"Contacted"}),e.jsx("option",{value:"replied",children:"Replied"}),e.jsx("option",{value:"converted",children:"Converted"}),e.jsx("option",{value:"ghosted",children:"Ghosted"})]})]}),E&&e.jsxs(j,{className:"bg-slate-800/60 border-slate-700",children:[e.jsx(q,{className:"pb-2 pt-3 px-4",children:e.jsx(G,{className:"text-sm text-emerald-400",children:"Add Real Prospect"})}),e.jsxs(f,{className:"px-4 pb-4 space-y-2",children:[e.jsx("div",{className:"flex items-center gap-2 p-2 bg-slate-900/60 rounded border border-dashed border-slate-600",children:e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-xs text-slate-400 hover:text-white transition-colors","data-testid":"label-upload-screenshot",children:[Ce?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-3.5 h-3.5 animate-spin text-violet-400"})," Reading profile..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Pe,{className:"w-3.5 h-3.5 text-violet-400"})," Upload TikTok / IG screenshot to auto-fill"]}),e.jsx("input",{type:"file",accept:"image/*",className:"hidden",disabled:Ce,onChange:a=>{var M;const r=(M=a.target.files)==null?void 0:M[0];r&&Le(r),a.target.value=""},"data-testid":"input-screenshot-upload"})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("select",{className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5 col-span-2",value:u.eventId,onChange:a=>w(r=>({...r,eventId:a.target.value})),"data-testid":"select-new-prospect-event",children:[e.jsx("option",{value:"",children:"Select event *"}),(je=z==null?void 0:z.events)==null?void 0:je.map(a=>e.jsxs("option",{value:String(a.id),children:[a.title," — ",a.location]},a.id))]}),e.jsxs("select",{className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.contactType,onChange:a=>w(r=>({...r,contactType:a.target.value})),"data-testid":"select-new-prospect-type",children:[e.jsx("option",{value:"creator",children:"Creator"}),e.jsx("option",{value:"merchant",children:"Merchant"})]}),e.jsxs("select",{className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.outreachChannel,onChange:a=>w(r=>({...r,outreachChannel:a.target.value})),"data-testid":"select-new-prospect-channel",children:[e.jsx("option",{value:"instagram",children:"Instagram"}),e.jsx("option",{value:"tiktok",children:"TikTok"}),e.jsx("option",{value:"youtube",children:"YouTube"}),e.jsx("option",{value:"email",children:"Email"}),e.jsx("option",{value:"twitter",children:"Twitter/X"}),e.jsx("option",{value:"linkedin",children:"LinkedIn"})]}),e.jsx("input",{placeholder:"Full name *",className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.name,onChange:a=>w(r=>({...r,name:a.target.value})),"data-testid":"input-new-prospect-name"}),e.jsx("input",{placeholder:"@handle or email",className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.socialHandle,onChange:a=>w(r=>({...r,socialHandle:a.target.value})),"data-testid":"input-new-prospect-handle"}),e.jsx("input",{placeholder:"Category (e.g. soccer, travel)",className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.category,onChange:a=>w(r=>({...r,category:a.target.value})),"data-testid":"input-new-prospect-category"}),e.jsx("input",{placeholder:"Followers (number)",type:"number",className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5",value:u.followerCount,onChange:a=>w(r=>({...r,followerCount:a.target.value})),"data-testid":"input-new-prospect-followers"}),e.jsx("textarea",{placeholder:"Notes / outreach angle",className:"bg-slate-900 border border-slate-700 text-white text-xs rounded px-2 py-1.5 col-span-2 min-h-[56px]",value:u.notes,onChange:a=>w(r=>({...r,notes:a.target.value})),"data-testid":"input-new-prospect-notes"})]}),e.jsxs("div",{className:"flex gap-2 pt-1",children:[e.jsx(o,{size:"sm",className:"bg-emerald-600 hover:bg-emerald-700 text-xs",onClick:()=>
1x.mutate(u),disabled:!u.eventId||!u.name||x.isPending,"data-testid":"btn-save-prospect",children:x.isPending?"Adding...":"Add to Queue"}),e.jsx(o,{size:"sm",variant:"ghost",className:"text-slate-400 text-xs",onClick:()=>i(!1),children:"Cancel"})]})]})]}),(fe=H==null?void 0:H.prospects)!=null&&fe.length?e.jsx("div",{className:"space-y-2 max-h-96 overflow-y-auto pr-1",children:H.prospects.map(a=>e.jsxs("div",{className:"flex items-start justify-between bg-slate-800/60 rounded px-3 py-2 gap-3","data-testid":`prospect-row-${a.id}`,children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-white text-xs font-medium",children:a.name}),a.social_handle&&e.jsx("span",{className:"text-slate-400 text-xs",children:a.social_handle}),e.jsx(n,{variant:"outline",className:`text-[10px] px-1.5 py-0 ${a.contact_type==="creator"?"border-violet-500/40 text-violet-400":"border-amber-500/40 text-amber-400"}`,children:a.contact_type}),a.follower_count&&e.jsxs("span",{className:"text-slate-500 text-[10px]",children:[(a.follower_count/1e3).toFixed(0),"K"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-0.5 flex-wrap",children:[e.jsx("span",{className:"text-slate-500 text-[10px]",children:a.event_title}),a.category&&e.jsxs("span",{className:"text-slate-600 text-[10px]",children:["· ",a.category]}),a.outreach_channel&&e.jsxs("span",{className:"text-slate-600 text-[10px]",children:["· ",a.outreach_channel]})]})]}),e.jsxs("select",{className:"bg-slate-900 border border-slate-700 text-xs rounded px-1.5 py-0.5 shrink-0",value:a.status,onChange:r=>Me.mutate({id:a.id,status:r.target.value}),"data-testid":`select-prospect-status-${a.id}`,style:{color:a.status==="converted"?"#4ade80":a.status==="ghosted"?"#ef4444":a.status==="replied"?"#60a5fa":a.status==="contacted"?"#facc15":"#94a3b8"},children:[e.jsx("option",{value:"queued",children:"Queued"}),e.jsx("option",{value:"contacted",children:"Contacted"}),e.jsx("option",{value:"replied",children:"Replied"}),e.jsx("option",{value:"converted",children:"Converted"}),e.jsx("option",{value:"ghosted",children:"Ghosted"})]})]},a.id))}):e.jsx("p",{className:"text-slate-500 text-xs text-center py-4",children:"No prospects found. Add one above or run the agent to generate candidates."})]})]}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-2 cursor-pointer",onClick:()=>pe(!L),children:e.jsxs(G,{className:"text-white text-sm flex items-center justify-between",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"w-4 h-4 text-blue-400"})," Record Weekly Actuals"]}),L?e.jsx(it,{className:"w-4 h-4 text-slate-400"}):e.jsx(ot,{className:"w-4 h-4 text-slate-400"})]})}),L&&e.jsxs(f,{className:"pt-2",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-3",children:[e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-400 text-xs mb-1 block",children:"Channel"}),e.jsxs(De,{value:O.channel,onValueChange:a=>V(r=>({...r,channel:a})),children:[e.jsx(qe,{className:"h-8 text-xs bg-slate-800 border-slate-700 text-white","data-testid":"select-actuals-channel",children:e.jsx(Ge,{placeholder:"Select channel"})}),e.jsx(Be,{children:ge.map(a=>e.jsx(Ve,{value:a,children:a},a))})]})]}),e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-400 text-xs mb-1 block",children:"Week #"}),e.jsx(F,{type:"number",min:1,max:5,className:"h-8 text-xs bg-slate-800 border-slate-700 text-white",value:O.weekNumber,onChange:a=>V(r=>({...r,weekNumber:parseInt(a.target.value)||1})),"data-testid":"input-actuals-week"})]}),e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-400 text-xs mb-1 block",children:"Month"}),e.jsx(F,{type:"number",min:1,max:12,className:"h-8 text-xs bg-slate-800 border-slate-700 text-white",value:O.month,onChange:a=>V(r=>({...r,month:parseInt(a.target.value)||1})),"data-testid":"input-actuals-month"})]})]}),e.jsx("div",{className:"grid grid-cols-4 gap-3 mb-3",children:[{key:"outreachCount",label:"Outreach"},{key:"responses",label:"Responses"},{key:"meetings",label:"Meetings"},{key:"approvals",label:"Approvals"},{key:"liveUnits",label:"Live Units"},{key:"participants",label:"Participants"},{key:"contentAssets",label:"Content Assets"},{key:"referralInquiries",label:"Referral Inquiries"}].map(({key:a,label:r})=>e.jsxs("div",{children:[e.jsx(Q,{className:"text-slate-400 text-xs mb-1 block",children:r}),e.jsx(F,{type:"number",min:0,className:"h-8 text-xs bg-slate-800 border-slate-700 text-white",value:O[a],onChange:M=>V(p=>({...p,[a]:parseInt(M.target.value)||0})),"data-testid":`input-actuals-${a}`})]},a))}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(o,{size:"sm",className:"bg-blue-600 hover:bg-blue-700 text-white text-xs",disabled:!O.channel||k.isPending,onClick:()=>k.mutate(O),"data-testid":"btn-submit-actuals",children:[k.isPending?e.jsx(ue,{className:"w-3 h-3 mr-1 animate-spin"}):e.jsx(Ee,{className:"w-3 h-3 mr-1"}),"Record Entry"]})})]})]}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3",children:e.jsxs(G,{className:"text-white text-sm flex items-center gap-2",children:[e.jsx(kt,{className:"w-4 h-4 text-amber-400"})," Alerts",oe.filter(a=>!a.acknowledged).length>0&&e.jsxs(n,{className:"bg-red-500/20 text-red-300 border-red-500/30 text-xs",children:[oe.filter(a=>!a.acknowledged).length," unread"]})]})}),e.jsx(f,{children:we?e.jsx("div",{className:"text-center py-6 text-slate-500 text-xs",children:"Loading alerts..."}):oe.length===0?e.jsx("div",{className:"text-center py-6 text-slate-500 text-xs",children:"No alerts yet. Run the agent to generate insights."}):e.jsx("div",{className:"space-y-2 max-h-[400px] overflow-y-auto","data-testid":"outreach-alerts-feed",children:oe.map(a=>e.jsx("div",{className:`rounded-lg p-3 border ${a.acknowledged?"opacity-50 bg-slate-800/30 border-slate-700/50":"bg-slate-800/60 border-slate-700"}`,"data-testid":`alert-item-${a.id}`,children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx(n,{className:`text-xs ${be(a.severity)}`,children:a.severity}),e.jsx(n,{className:`text-xs ${ve(a.alertType)}`,children:a.alertType}),a.channel&&e.jsx("span",{className:"text-slate-500 text-xs",children:a.channel})]}),e.jsx("p",{className:"text-white text-sm font-medium mb-0.5",children:a.title}),e.jsx("p",{className:"text-slate-400 text-xs mb-1",children:a.message}),a.recommendation&&e.jsxs("p",{className:"text-blue-400 text-xs",children:[e.jsx("span",{className:"text-slate-500",children:"→"})," ",a.recommendation]})]}),!a.acknowledged&&e.jsxs(o,{size:"sm",variant:"outline",className:"h-7 text-xs border-slate-600 text-slate-300 hover:bg-slate-700 shrink-0",onClick:()=>Se.mutate(a.id),disabled:Se.isPending,"data-testid":`btn-ack-alert-${a.id}`,children:[e.jsx(Y,{className:"w-3 h-3 mr-1"})," Ack"]})]})},a.id))})})]}),e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-2 cursor-pointer",onClick:()=>U(!N),children:e.jsxs(G,{className:"text-white text-sm flex items-center justify-between",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Tt,{className:"w-4 h-4 text-violet-400"})," Agent Runs (",te.length,")"]}),N?e.jsx(it,{className:"w-4 h-4 text-slate-400"}):e.jsx(ot,{className:"w-4 h-4 text-slate-400"})]})}),N&&e.jsx(f,{className:"pt-2",children:te.length===0?e.jsx("p",{className:"text-slate-500 text-xs text-center py-4",children:"No agent runs recorded yet."}):e.jsx("div",{className:"space-y-3 max-h-[400px] overflow-y-auto","data-testid":"outreach-agent-runs",children:te.map(a=>e.jsxs("div",{className:"bg-slate-800/60 rounded-lg p-3 border border-slate-700","data-testid":`agent-run-${a.id}`,children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx(n,{className:`text-xs ${a.status==="completed"?"bg-emerald-500/20 text-emerald-300 border-emerald-500/30":a.status==="failed"?"bg-red-500/20 text-red-300 border-red-500/30":"bg-blue-500/20 text-blue-300 border-blue-500/30"}`,children:a.status}),e.jsx(n,{className:"text-xs bg-slate-700 text-slate-300 border-slate-600",children:a.runType}),e.jsx("span",{className:"text-slate-500 text-xs",children:new Date(a.startedAt).toLocaleStr
1ing()})]}),e.jsxs("div",{className:"flex items-center gap-4 text-xs text-slate-400 mb-1",children:[e.jsxs("span",{children:["Channels: ",a.channelsAnalyzed]}),e.jsxs("span",{children:["Alerts: ",a.alertsGenerated]}),e.jsxs("span",{children:["Distributions: ",a.distributionsCreated]})]}),a.aiSummary&&e.jsx("p",{className:"text-slate-300 text-xs leading-relaxed bg-slate-900/60 rounded p-2 mt-2",children:a.aiSummary}),a.error&&e.jsxs("p",{className:"text-red-400 text-xs mt-1",children:["Error: ",a.error]})]},a.id))})})]}),W.length>0&&e.jsxs(j,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(q,{className:"pb-3",children:e.jsxs(G,{className:"text-white text-sm flex items-center gap-2",children:[e.jsx(_e,{className:"w-4 h-4 text-blue-400"})," Quarter Projection (Ramp-Adjusted)"]})}),e.jsx(f,{children:e.jsx("div",{className:"grid grid-cols-3 gap-4","data-testid":"outreach-quarter-projection",children:W.map(a=>{const r=Math.max(...W.map(me=>me.projectedOutreach),1),M=a.projectedOutreach/r*100,p=Math.max(...W.map(me=>me.projectedLive),1),$=a.projectedLive/p*100;return e.jsxs("div",{className:"text-center","data-testid":`projection-${a.month}`,children:[e.jsx("p",{className:"text-white font-semibold text-sm mb-1",children:a.month}),e.jsxs("p",{className:"text-slate-500 text-xs mb-3",children:["Ramp: ",Math.round(a.factor*100),"%"]}),e.jsx("div",{className:"space-y-2",children:e.jsxs("div",{children:[e.jsxs("div",{className:"h-24 flex items-end justify-center gap-2",children:[e.jsx("div",{className:"w-8 bg-blue-500/30 rounded-t relative",style:{height:`${M}%`},children:e.jsx("div",{className:"absolute -top-5 left-1/2 -translate-x-1/2 text-blue-400 text-xs font-medium whitespace-nowrap",children:a.projectedOutreach})}),e.jsx("div",{className:"w-8 bg-emerald-500/30 rounded-t relative",style:{height:`${$}%`},children:e.jsx("div",{className:"absolute -top-5 left-1/2 -translate-x-1/2 text-emerald-400 text-xs font-medium whitespace-nowrap",children:a.projectedLive})})]}),e.jsxs("div",{className:"flex justify-center gap-4 mt-2",children:[e.jsxs("span",{className:"flex items-center gap-1 text-xs text-blue-400",children:[e.jsx("span",{className:"w-2 h-2 rounded bg-blue-500/50"}),"Outreach"]}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-emerald-400",children:[e.jsx("span",{className:"w-2 h-2 rounded bg-emerald-500/50"}),"Live"]})]})]})})]},a.month)})})})]})]})}const Ae={Travel:St,Hospitality:Ft,Entertainment:Ct,Sports:wt,Retail:yt,Technology:ye,Automotive:Fe,default:ht},dt=[{id:"creator_iq",name:"Creator IQ",tier:"Enterprise",customers:"1,300+",pricing:"$2,350+/mo",focus:"Large enterprises, agencies — 17+ industries, 170 countries. 44k campaigns in 2025.",slantAngle:"Creator IQ's travel and entertainment clients (Airbnb, Delta, Disney, Live Nation) are running creator campaigns at massive scale with zero offline attribution. They know impressions and clicks — not arrivals. Slant adds the verified visit layer that Creator IQ cannot provide. API integration angle: Slant reads campaign/creator IDs from Creator IQ and appends geofence attribution data.",color:"text-blue-400",bg:"bg-blue-500/10 border-blue-500/20",clients:[{name:"Airbnb",industry:"Travel",relevance:"high",note:"Global travel platform running creator campaigns. Cannot verify which creators actually drove bookings or arrivals at destinations. Direct Slant use case."},{name:"Delta Air Lines",industry:"Travel",relevance:"high",note:"Major US airline with documented Creator IQ usage. Creator campaigns drive route awareness but delta can't prove physical airport/destination arrivals from content."},{name:"Disney",industry:"Entertainment",relevance:"high",note:"Park attendance campaigns — creator content drives visits to physical parks. Disney would benefit from verified arrival attribution."},{name:"Live Nation",industry:"Entertainment",relevance:"high",note:"Event company — creator content drives physical event attendance. Exact offline conversion use case. Head of Social Product featured in Creator IQ podcast on 'fanfluencers'."},{name:"Google",industry:"Technology",relevance:"medium",note:"Maps/Travel products use creators. Less direct offline attribution need."},{name:"LVMH",industry:"Retail",relevance:"medium",note:"Luxury in-store visit attribution potential. Creator content → boutique visits."},{name:"Nestlé",industry:"Retail",relevance:"low",note:"CPG brand. Less location-specific attribution need."},{name:"Sephora",industry:"Retail",relevance:"medium",note:"Retail brand — creator content → in-store visits. Location attribution angle."},{name:"Unilever",industry:"Retail",relevance:"low",note:"CPG. Distributed retail, less geofence-specific."},{name:"NBA / NFL / MLB teams",industry:"Sports",relevance:"high",note:"Sports leagues/teams with creator programs. Fan travel and stadium attendance campaigns — directly Slant's fan travel attribution use case."},{name:"Burson",industry:"Technology",relevance:"medium",note:"Global PR/comms agency. Could be a channel partner to Creator IQ clients."},{name:"Movers+Shakers",industry:"Technology",relevance:"medium",note:"Creative agency — channel partner potential."}]},{id:"traackr",name:"Traackr",tier:"Enterprise",customers:"150+",pricing:"$25k+/yr",focus:"Global enterprise brands, multi-market programs. Beauty, CPG, hospital
1ity. 70+ countries.",slantAngle:"Traackr has the strongest hospitality footprint of any platform — Accor (6 brands, 43 countries) and Meliá Hotels (global) are confirmed customers. Both hotel groups are running influencer programs but measuring success through engagement metrics, not verified guest arrivals. Traackr partnership: Slant becomes the attribution endpoint for Traackr hospitality clients — when a travel influencer posts, Slant verifies who actually arrived.",color:"text-purple-400",bg:"bg-purple-500/10 border-purple-500/20",clients:[{name:"Accor Hotels",industry:"Hospitality",relevance:"high",note:"6 hotel brands, 43+ countries. Confirmed Traackr customer. Ran employer branding influencer campaign (London pilot). No verified arrival attribution. Perfect Slant integration: influencer post → verified check-in at Accor property."},{name:"Meliá Hotels International",industry:"Hospitality",relevance:"high",note:"6 brands, 43 countries globally. Confirmed Traackr customer since at least 2019. Challenge: vetting inbound influencer requests for ROI. Slant adds the missing verified stay/arrival data."},{name:"Michelin",industry:"Automotive",relevance:"medium",note:"7 Northern European countries. +18% reach increase. Location-adjacent (restaurant guide, rally events) — attribution angle exists."},{name:"Groupe SEB",industry:"Retail",relevance:"low",note:"28 markets, world's largest cookware manufacturer. CPG product, less location-specific."},{name:"Coty (Wella, OPI)",industry:"Retail",relevance:"low",note:"Beauty brands. Distributed retail, less geofence-specific."},{name:"Laneige",industry:"Retail",relevance:"low",note:"K-beauty brand. Less location-specific."},{name:"Les Laboratoires Pierre Fabre",industry:"Retail",relevance:"low",note:"Pharmaceutical/beauty. Less location-specific."},{name:"Travelocity",industry:"Travel",relevance:"high",note:"Online travel agency. Ran Traackr campaign — 'Gnational Gnomad' influencer community, +1,200% brand impressions. Creator content → travel bookings — no arrival attribution."},{name:"Hey Hei",industry:"Hospitality",relevance:"high",note:"South Florida hospitality brand. Local creator marketing — physical location visits directly relevant to Slant."}]},{id:"grin",name:"GRIN",tier:"Mid-Market",customers:"178+ verified brands",pricing:"$999–$2,500+/mo",focus:"DTC e-commerce, Shopify-native. $245M affiliate revenue generated for clients in 2025. Best for scaling brands.",slantAngle:"GRIN has a dedicated travel influencer marketing landing page and positions itself for outdoor/adventure/travel brands. GoPro is a flagship-adjacent client — action sports and adventure travel. GRIN customers run campaigns without any destination arrival verification. Slant integration angle: GRIN manages the creator relationship, Slant adds verified visit data. Jan 2026 self-serve launch makes GRIN a more accessible partner channel.",color:"text-emerald-400",bg:"bg-emerald-500/10 border-emerald-500/20",clients:[{name:"GoPro",industry:"Travel",relevance:"high",note:"Action camera brand — adventure/travel creators are core to their influencer strategy. Travel destinations, outdoor activities. Slant verified arrival data is directly relevant to GoPro's creator campaigns."},{name:"Allbirds",industry:"Retail",relevance:"medium",note:"Sustainable footwear, outdoor/lifestyle positioning. Some location-adjacent content."},{name:"SKIMS",industry:"Retail",relevance:"low",note:"Kim Kardashian shapewear brand. E-commerce focus, less location-specific."},{name:"Rhode",industry:"Retail",relevance:"low",note:"Hailey Bieber skincare. E-commerce focus."},{name:"Warby Parker",industry:"Retail",relevance:"medium",note:"Physical retail locations + influencer campaigns. In-store visit attribution angle."},{name:"Mejuri",industry:"Retail",relevance:"medium",note:"Fine jewelry with physical stores. Creator campaigns → in-store visits."},{name:"tentree",industry:"Retail",relevance:"medium",note:"Sustainable outdoor apparel. Nature/destination-adjacent content."},{name:"Cetaphil",industry:"Retail",relevance:"low",note:"Skincare brand. CPG, less location-specific."},{name:"MVMT Watches",industry:"Retail",relevance:"low",note:"DTC watch brand. E-commerce focus."}]},{id:"aspire",name:"Aspire",tier:"Mid-Market",customers:"400+",pricing:"$2,000+/mo",focus:"E-commerce and DTC brands. Creator marketplace (inbound discovery). Strong Shopify integration.",slantAngle:"Aspire's customer base skews heavily toward consumer goods and DTC e-commerce — less natural travel fit. However, Samsung, Keurig, Gymshark and similar brands run event-based and experiential campaigns where location attribution applies. Aspire recently expanded into travel/hospitality as a vertical. The pitch: Aspire handles the creator marketplace and campaign workflows, Slant adds the physical arrival layer for any client with a location-based activation.",color:"text-amber-400",bg:"bg-amber-500/10 border-amber-500/20",clients:[{name:"M&M's (Mars)",industry:"Retail",relevance:"medium",note:"New York store launch + Mother's Day campaign. 29% engagement rate record. Location activation (NYC store) — Slant arrival attribution directly relevant for future activations."},{name:"Samsung",industry:"Technology",relevance:"medium",note:"Global brand. Samsung runs experiential/pop-up events globally — creator campaigns driving physical attendance."},{name:"Gymshark",industry:"Retail",relevance:"medium",note:"Fitness brand with community events and pop-ups. Creator-driven in-person activations."},{name:"HelloFresh",industry:"Retail",relevance:"low",note:"Meal kit delivery. Home delivery model, less location-specific."},{name:"HexClad",industry:"Retail",relevance:"low",note:"Cookware brand, 3,000+ creators. Home/kitchen, less location-specific."},{name:"Dyson",industry:"Retail",relevance:"medium",note:"Premium consumer electronics. Retail locations globally — in-store visit attribution."},{name:"Calvin Klein",industry:"Retail",relevance:"medium",note:"Fashion brand with flagship stores. Creator campaigns → in-store visits, especially for events."},{name:"Glossier",industry:"Retail",relevance:"medium",note:"DTC beauty with physical showrooms/stores. Creator-driven store visits."},{name:"Castlery",industry:"Retail",relevance:"medium",note:"Furniture brand across 3 continents. Physical showrooms — creator campaigns → showroom visits."}]}];function Gt(){const[L,pe]=S.useState("creator_iq"),N=dt.find(i=>i.id===L),U=N.clients.filter(i=>i.relevance==="high"),E=N.clients.filter(i=>i.relevance==="medium");return e.jsxs("div",{children:[e.jsx("div",{className:"flex gap-3 mb-6 flex-wrap",children:dt.map(i=>e.jsx("button",{onClick:()=>pe(i.id),"data-testid":`btn-platform-${i.id}`,className:`px-4 py-2 rounded-lg text-sm font-medium border transition-all ${L===i.id?`${i.bg} ${i.color} border-current`:"bg-slate-900/60 border-slate-700 text-slate-400 hover:text-white"}`,children:i.name},i.id))}),e.jsxs("div",{className:`rounded-xl border p-5 mb-5 ${N.bg}`,children:[e.jsx("div",{className:"flex items-start justify-between gap-4 mb-3",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h3",{className:`text-xl font-bold ${N.color}`,children:N.name}),e.jsx(n,{className:"bg-slate-800 text-slate-300 border-slate-700 text-xs",children:N.tier}),e.jsxs(n,{className:"bg-slate-800 text-slate-300 border-slate-700 text-xs",children:[N.customers," customers"]}),e.jsx(n,{className:"bg-slate-800 text-slate-300 border-slate-700 text-xs",children:N.pricing})]}),e.jsx("p",{className:"text-slate-300 text-sm",children:N.focus})]})}),e.jsxs("div",{className:"bg-slate-900/60 rounded-lg p-3 border border-slate-700/50",children:[e.jsxs("p",{className:"text-xs font-semibold text-slate-400 mb-1.5 flex items-center gap-1.5",children:[e.jsx(ye,{className:"w-3.5 h-3.5"})," Slant Integration Angle"]}),e.jsx("p",{className:"text-sm text-slate-200 leading-relaxed",children:N.slantAngle})]})]}),U.length>0&&e.jsxs("div",{className:"mb-5",children:[e.jsxs("h4",{className:"text-sm font-semibold text-emerald-400 mb-3 flex items-center gap-2",children:[e.jsx(Y,{className:"w-4 h-4"})," High Relevance — Strong Slant Fit (",U.length," clients)"]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-3",children:U.map(i=>{const y=Ae[i.industry]??Ae.default;return e.jsxs("div",{className:"bg-slate-900/60 border border-emerald-500/20 rounded-xl p-3","data-testid":`client-${i.name.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsx("div",{className:"w-7 h-7 rounded-lg bg-emerald-500/10 flex items-center justify-center shrink-0",children:e.jsx(y,{className:"w-3.5 h-3.5 text-emerald-400"})}),e.jsxs("div",{children:[e.jsx("span",{className:"text-white font-semibold text-sm",children:i.name}),e.jsx(n,{className:"ml-2 bg-emerald-500/20 text-emerald-300 border-emerald-500/30 text-xs",children:i.industry})]})]}),e.jsx("p",{className:"text-slate-400 text-xs leading-relaxed",children:i.note})]},i.name)})})]}),E.length>0&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-sm font-semibold text-amber-400 mb-3 flex items-center gap-2",children:[e.jsx(Ke,{className:"w-4 h-4"})," Medium Relevance (",E.length," clients)"]}),e.jsx("div",{className:"grid md:grid-cols-3 gap-2",children:E.map(i=>{const y=Ae[i.industry]??Ae.default;return e.jsxs("div",{className:"bg-slate-900/60 border border-slate-700 rounded-xl p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(y,{className:"w-3.5 h-3.5 text-amber-400 shrink-0"}),e.jsx("span",{className:"text-white text-sm font-medium",children:i.name}),e.jsx(n,{className:"bg-slate-800 text-slate-400 border-slate-700 text-xs",children:i.industry})]}),e.jsx("p",{className:"text-slate-500 text-xs leading-relaxed line-clamp-2",children:i.note})]},i.name)})})]})]})}function Bt(L){return e.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",...L,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"2",y1:"12",x2:"22",y2:"12"}),e.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}
1export{da as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.