PageSourceSearch

https://xelia.ai/dashboard/assets/EventsPage-AvFsPyTp.js

js xelia.ai collected 2026-10-05 13:42:28 UTC 12,437 bytes, 2 lines download raw bytes

1import{b as W,w as M,r as l,c as R,d as S,j as e,S as q,a as g}from"./index-CoO66CQf.js";const D={draft:"Borrador",scheduled:"Agendado",published:"Publicado",cancelled:"Cancelado",skipped:"Semana vacía"},N={draft:"var(--warning, #FF9500)",scheduled:"var(--info, #007AFF)",published:"var(--success, #34C759)",cancelled:"var(--text-tertiary, #9CA3AF)",skipped:"var(--text-tertiary, #9CA3AF)"},U={demo:"Demo",challenge:"Challenge",experimento:"Experimento",comparacion:"Comparación",live_build:"Live build",problema:"Problema",contrarian:"Contrarian",scale:"Escala"},O={dolor_empresarial:"Dolor empresarial",curiosidad:"Curiosidad",demostrabilidad:"Demostrabilidad",simplicidad:"Simplicidad",potencial_viral:"Potencial viral",autoridad:"Autoridad",compradores_reales:"Compradores reales"},p={backgroundColor:"var(--bg-elevated, #FFFFFF)",border:"1px solid var(--border-light, #F0F0F0)",borderRadius:"12px",padding:"24px"},h={fontSize:"11px",fontWeight:600,letterSpacing:"0.5px",textTransform:"uppercase",color:"var(--text-tertiary, #9CA3AF)",marginBottom:"4px"};function a({label:s,children:o}){return e.jsxs("div",{style:{marginBottom:"16px"},children:[e.jsx("div",{style:h,children:s}),e.jsx("div",{style:{fontSize:"14px",lineHeight:1.5,whiteSpace:"pre-wrap"},children:o})]})}function L({status:s}){const o=N[s];return e.jsx("span",{style:{display:"inline-block",padding:"4px 10px",borderRadius:"9999px",fontSize:"11px",fontWeight:600,textTransform:"uppercase",color:o,backgroundColor:`color-mix(in srgb, ${o} 12%, transparent)`},children:D[s]})}function G(){const s=W(),{id:o}=M({strict:!1}),[C,k]=l.useState(o??null);l.useEffect(()=>{o&&(k(o),s.invalidateQueries({queryKey:["linkedin-events"]}))},[o,s]);const[v,F]=l.useState(""),[_,A]=l.useState(""),[E,B]=l.useState({registros:"",asistentes:"",impresiones:"",comentarios:""}),[z,r]=l.useState(null),x=R({queryKey:["linkedin-events"],queryFn:()=>g.content.listEvents({days:180,limit:50}),staleTime:6e4}),c=l.useMemo(()=>{var n;return((n=x.data)==null?void 0:n.data)??[]},[x.data]),t=l.useMemo(()=>c.find(n=>n.id===C)??c[0]??null,[c,C]);l.useEffect(()=>{F((t==null?void 0:t.linkedin_event_url)??""),A((t==null?void 0:t.learning_notes)??""),B({registros:"",asistentes:"",impresiones:"",comentarios:""}),r(null)},[t==null?void 0:t.id,t==null?void 0:t.linkedin_event_url,t==null?void 0:t.learning_notes]);const d=S({mutationFn:({id:n,body:i})=>g.content.updateEvent(n,i),onSuccess:()=>{s.invalidateQueries({queryKey:["linkedin-events"]}),r("Guardado.")},onError:n=>{r(n instanceof Error?n.message:"No se pudo guardar.")}}),y=S({mutationFn:()=>g.content.generateEvent(),onSuccess:n=>{r(n.success?"Generando el evento de esta semana (2-5 min). Te aviso por la campanita.":n.error??"No se pudo encolar.")},onError:n=>{r(n instanceof Error?n.message:"No se pudo encolar la generación.")}}),f=S({mutationFn:n=>g.content.announceEvent(n),onSuccess:n=>{s.invalidateQueries({queryKey:["linkedin-events"]}),r(n.success?"Anuncio en cola: XELIA lo publica en tu LinkedIn en la próxima ventana (normalmente el mismo día). Te aviso por la campanita cuando salga.":n.error??"No se pudo anunciar.")},onError:n=>{r(n instanceof Error?n.message:"No se pudo anunciar el evento.")}}),w=()=>
1{if(t){if(!v.trim()){r("Pega la URL real del evento en LinkedIn — sin confirmación no hay publicado.");return}d.mutate({id:t.id,body:{linkedin_status:"published",linkedin_event_url:v.trim()}})}},T=()=>{if(!t)return;const n={};for(const[i,m]of Object.entries(E)){const I=Number(m);m!==""&&Number.isFinite(I)&&(n[i]=I)}if(!Object.keys(n).length){r("Captura al menos una métrica numérica.");return}d.mutate({id:t.id,body:{metrics:n}})},P=n=>{navigator.clipboard.writeText(n).then(()=>r("Copiado al portapapeles."))},b={padding:"10px 12px",borderRadius:"8px",border:"1px solid var(--border-medium, #E0E0E0)",backgroundColor:"var(--bg-primary, #FFFFFF)",color:"var(--text-primary, #111827)",fontSize:"14px",width:"100%"},j={padding:"10px 20px",borderRadius:"8px",border:"none",backgroundColor:"var(--accent, #000000)",color:"var(--bg-primary, #FFFFFF)",fontWeight:600,fontSize:"14px",cursor:"pointer"},u={padding:"10px 20px",borderRadius:"8px",border:"1px solid var(--border-medium, #E0E0E0)",backgroundColor:"transparent",color:"var(--text-primary, #111827)",fontWeight:600,fontSize:"14px",cursor:"pointer"};return e.jsxs("div",{className:"page active",style:{padding:"32px",maxWidth:"1440px",margin:"0 auto"},children:[e.jsxs("header",{style:{marginBottom:"24px",display:"flex",justifyContent:"space-between",alignItems:"flex-start",flexWrap:"wrap",gap:"16px"},children:[e.jsxs("div",{children:[e.jsx("h1",{style:{fontSize:"32px",fontWeight:700,marginBottom:"8px"},children:"Eventos de LinkedIn"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--text-secondary, #6B7280)",maxWidth:"640px"},children:"Un evento excepcional por semana: investigación real, torneo de 20 titulares, score mínimo 55/70. La publicación en LinkedIn es manual con la checklist incluida; al publicarlo pega aquí la URL para cerrar el ciclo."})]}),e.jsx("button",{style:j,disabled:y.isPending,onClick:()=>y.mutate(),children:y.isPending?"Encolando...":"Generar evento de esta semana"})]}),z&&e.jsx("div",{role:"alert",style:{marginBottom:"16px",padding:"12px 18px",borderRadius:"12px",border:"1px solid rgba(0, 122, 255, 0.45)",backgroundColor:"rgba(0, 122, 255, 0.10)",fontSize:"14px",fontWeight:500},children:z}),x.isLoading&&e.jsx(q,{}),!x.isLoading&&c.length===0&&e.jsx("div",{style:{...p,textAlign:"center",color:"var(--text-secondary, #6B7280)"},children:"Aún no hay eventos generados. El engine corre cada martes 10:00 AM, o genera el de esta semana con el botón de arriba."}),c.length>0&&e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(260px, 340px) 1fr",gap:"24px",alignItems:"start"},children:[e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:c.map(n=>e.jsxs("button",{onClick:()=>k(n.id),style:{...p,padding:"16px",textAlign:"left",cursor:"pointer",borderColor:(t==null?void 0:t.id)===n.id?"var(--accent, #000000)":"var(--border-light, #F0F0F0)"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"8px"},children:[e.jsxs("span",{style:{fontSize:"12px",color:"var(--text-tertiary, #9CA3AF)"},children:["Semana del ",n.week_of.slice(0,10)]}),e.jsx(L,{status:n.linkedin_status})]}),e.jsx("div",{style:{fontSize:"15px",fontWeight:600,marginBottom:"4px"},children:n.title}),e.jsxs("div",{style:{fontSize:"12px",color:"var(--text-secondary, #6B7280)"},children:[U[n.concept_type]," · ",n.score_total,"/70"]})]},n.id))}),t&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"24px"},children:[e.jsxs("div",{style:p,children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"12px",marginBottom:"12px"},children:[e.jsxs("div",{children:[e.jsx("h2",{style:{fontSize:"24px",fontWeight:700,marginBottom:"4px"},children:t.title}),e.jsx("p",{style:{fontSize:"15px",color:"var(--text-secondary, #6B7280)"},children:t.subtitle})]}),e.jsxs("div",{style:{textAlign:"right",minWidth:"90px"},children:[e.jsxs("div",{style:{fontSize:"32px",fontWeight:700},children:[t.score_total,e.jsx("span",{style:{fontSize:"14px",color:"var(--text-tertiary, #9CA3AF)"},children:"/70"})]}
1),e.jsx(L,{status:t.linkedin_status})]})]}),e.jsx(a,{label:"Dolor detectado",children:t.pain}),e.jsx(a,{label:"Insight (por qué ahora)",children:t.insight}),e.jsx(a,{label:"Big idea",children:t.big_idea}),t.event_start&&e.jsx(a,{label:"Fecha propuesta (CDMX)",children:new Date(t.event_start).toLocaleString("es-MX",{timeZone:"America/Mexico_City",dateStyle:"full",timeStyle:"short"})}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:"8px",marginTop:"8px"},children:Object.entries(t.score_breakdown).map(([n,i])=>e.jsxs("div",{style:{fontSize:"12px",color:"var(--text-secondary, #6B7280)"},children:[O[n]??n,": ",e.jsxs("strong",{style:{color:"var(--text-primary, #111827)"},children:[i,"/10"]})]},n))})]}),e.jsxs("div",{style:p,children:[e.jsx(a,{label:"Descripción del evento (copy final)",children:t.description}),e.jsx(a,{label:"CTA",children:t.cta}),e.jsx(a,{label:"Audiencia",children:t.audience}),e.jsx(a,{label:"Demostración en vivo (plan)",children:t.live_demo}),e.jsx(a,{label:"Por qué puede funcionar",children:t.why_it_works}),t.evidence.length>0&&e.jsx(a,{label:"Evidencia / fuentes",children:t.evidence.map((n,i)=>e.jsxs("div",{style:{marginBottom:"6px"},children:[n.claim," ",e.jsxs("span",{style:{color:"var(--text-tertiary, #9CA3AF)"},children:["(",n.source,")"]})]},i))}),t.alt_headlines.length>1&&e.jsx(a,{label:"Titulares alternos (torneo)",children:t.alt_headlines.slice(0,6).map((n,i)=>e.jsxs("div",{style:{marginBottom:"4px",fontSize:"13px"},children:[n.text," ",e.jsxs("span",{style:{color:"var(--text-tertiary, #9CA3AF)"},children:["(",n.score,"/70)"]})]},i))}),t.previous_learning&&e.jsx(a,{label:"Aprendizaje incorporado de eventos previos",children:t.previous_learning})]}),e.jsxs("div",{style:p,children:[e.jsx("h3",{style:{fontSize:"16px",fontWeight:600,marginBottom:"12px"},children:"Checklist para publicarlo en LinkedIn"}),e.jsx("p",{style:{fontSize:"13px",color:"var(--text-secondary, #6B7280)",marginBottom:"16px"},children:"La creación del evento es manual (nuestra app de LinkedIn aún no tiene el producto Event Management API). Copia cada campo y pégalo en el formulario."}),t.manual_checklist.map((n,i)=>e.jsxs("div",{style:{display:"flex",gap:"12px",alignItems:"flex-start",padding:"10px 0",borderBottom:i<t.manual_checklist.length-1?"1px solid var(--border-light, #F0F0F0)":"none"},children:[e.jsx("div",{style:{minWidth:"170px",fontSize:"12px",fontWeight:600,color:"var(--text-secondary, #6B7280)"},children:n.campo}),e.jsx("div",{style:{flex:1,fontSize:"13px",whiteSpace:"pre-wrap"},children:n.valor}),e.jsx("button",{style:{...u,padding:"4px 10px",fontSize:"12px"},onClick:()=>P(n.valor),children:"Copiar"})]},i))]}),e.jsxs("div",{style:p,children:[e.jsx("h3",{style:{fontSize:"16px",fontWeight:600,marginBottom:"16px"},children:"Cerrar el ciclo"}),e.jsxs("div",{style:{marginBottom:"20px"},children:[e.jsx("div",{style:h,children:"URL del evento en LinkedIn"}),e.jsxs("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[e.jsx("input",{style:{...b,flex:1,minWidth:"260px"},placeholder:"https://www.linkedin.com/events/...",value:v,onChange:n=>F(n.target.value)}),e.jsx("button",{style:j,disabled:d.isPending,onClick:w,children:"Marcar publicado"}
1),t.linkedin_status==="draft"&&e.jsx("button",{style:j,disabled:f.isPending,onClick:()=>f.mutate(t.id),title:"Publica un post en tu LinkedIn anunciando el evento en vivo (sale en ≤30 min)",children:f.isPending?"Anunciando...":"Anunciar en LinkedIn"}),t.linkedin_status==="draft"&&e.jsx("button",{style:u,disabled:d.isPending,onClick:()=>d.mutate({id:t.id,body:{linkedin_status:"scheduled"}}),children:"Marcar agendado"})]}),t.linkedin_event_url&&e.jsx("a",{href:t.linkedin_event_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"var(--info, #007AFF)",display:"inline-block",marginTop:"8px"},children:"Ver evento en LinkedIn"})]}),e.jsxs("div",{style:{marginBottom:"20px"},children:[e.jsx("div",{style:h,children:"Métricas (cuando estén disponibles)"}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(120px, 1fr))",gap:"8px",marginBottom:"8px"},children:["registros","asistentes","impresiones","comentarios"].map(n=>e.jsx("input",{style:b,type:"number",min:0,placeholder:`${n.charAt(0).toUpperCase()}${n.slice(1)}${t.metrics[n]!==void 0?` (${t.metrics[n]})`:""}`,value:E[n],onChange:i=>B(m=>({...m,[n]:i.target.value}))},n))}),e.jsx("button",{style:u,disabled:d.isPending,onClick:T,children:"Guardar métricas"})]}),e.jsxs("div",{children:[e.jsx("div",{style:h,children:"Notas de aprendizaje (alimentan el siguiente evento)"}),e.jsx("textarea",{style:{...b,minHeight:"80px",resize:"vertical",fontFamily:"inherit"},placeholder:"Qué funcionó, qué no, qué principio extraer para la próxima semana...",value:_,onChange:n=>A(n.target.value)}),e.jsx("button",{style:{...u,marginTop:"8px"},disabled:d.isPending,onClick:()=>d.mutate({id:t.id,body:{learning_notes:_}}),children:"Guardar notas"})]})]})]})]})]})}export{G as EventsPage};
2//# sourceMappingURL=EventsPage-AvFsPyTp.js.map

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.