1import{api as x}from"./api-BZJQ8hp_.js";import{S as L}from"./SkeletonLoader-C9jqEWXS.js";import{A as $}from"./AdminRefreshButton-CgRGHMl2.js";import{r as q}from"./ExclamationTriangleIcon-HAY4j6Kl.js";import{c as r,a as e,o,j as A,f as i,F as b,l as k,b as g,i as _,t as n,r as p,n as v}from"./index-Kkfx8cSU.js";import{r as j}from"./ArrowDownTrayIcon-BydcwzPp.js";function B(w,f){return o(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h3.218a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 0 0-2.15-1.588H6.911a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.25 2.25 0 0 0-.1.661Z"})])}const D={class:"mb-5 flex justify-end items-center"},F={key:0,class:"py-2"},E={key:1,class:"flex items-start gap-3 rounded-card border border-rose-300 bg-rose-50 px-4 py-3 text-sm text-rose-700 dark:border-rose-500/40 dark:bg-rose-900/20 dark:text-rose-300",role:"alert"},T={key:2,class:"card flex flex-col items-center justify-center gap-2 py-12 text-center"},M={key:3,class:"card overflow-x-auto p-0"},O={class:"w-full text-sm"},V={class:"px-4 py-3 whitespace-nowrap text-slate-500 dark:text-slate-400"},I={class:"px-4 py-3 whitespace-nowrap font-medium text-slate-800 dark:text-slate-100"},z={class:"px-4 py-3 whitespace-nowrap text-slate-700 dark:text-slate-200"},P={class:"px-4 py-3 whitespace-nowrap"},R=["href"],H={class:"px-4 py-3 max-w-xs text-slate-600 dark:text-slate-300"},U=["title"],Z={key:1,class:"text-slate-400 dark:text-slate-500"},G={class:"px-4 py-3 whitespace-nowrap"},J=["value","onChange"],K=["value"],Q={class:"px-4 py-3 min-w-[12rem]"},W=["value","onChange"],X={class:"px-4 py-3 whitespace-nowrap"},Y={class:"px-4 py-3 whitespace-nowrap"},ee=["onClick","disabled"],te={key:1,class:"text-slate-400 dark:text-slate-500"},de={__name:"MarketingLeads",setup(w){const f=[{value:"new",label:"New"},{value:"in_progress",label:"In progress"},{value:"done",label:"Done"}],m=p([]),c=p(!0),d=p(null),u=p(null);function C(a){switch(a){case"in_progress":return"border-sky-300 text-sky-800 bg-sky-50 dark:text-sky-300 dark:border-sky-500/40";case"done":return"border-emerald-300 text-emerald-800 bg-emerald-50 dark:text-emerald-300 dark:border-emerald-500/40";default:return"border-amber-300 text-amber-800 bg-amber-50 dark:text-amber-300 dark:border-amber-500/40"}}function N(a){if(!a)return"â";const t=new Date(a);return Number.isNaN(t.getTime())?a:t.toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"})}async function h(){c.value=!0,d.value=null;try{const a=await x.get("/admin/marketing/leads");m.value=Array.isArray(a==null?void 0:a.leads)?a.leads:[]}catch(a){d.value=a.message,console.error("Error fetching marketing leads:",a)}finally{c.value=!1}}async function y(a,t){const s={status:a.status,notes:a.notes};Object.assign(a,t);try{await x.patch(`/admin/marketing/leads/${a.id}`,t)}catch(l){Object.assign(a,s),d.value=`Failed to update lead: ${l.message}`,console.error("Error updating lead:",l)}}async function S(a){u.value=a.id;try{const t=await x.get(`/admin/marketing/leads/${a.id}/file`);t!=null&&t.url&&window.open(t.url,"_blank","noopener")}catch(t){d.value=`Could not open file: ${t.message}`,console.error("Error downloading lead file:",t)}finally{u.value=null}}return A(h),(a,t)=>(o(),r("div",null,[e("div",D,[i($,{loading:c.value,onClick:h},null,8,["loading"])]),c.value?(o(),r("div",F,[(o(),r(b,null,k(6,s=>i(L,{key:s,type:"card",class:"mb-3"})),64))])):d.value?(o(),r("div",E,[i(g(q),{class:"w-5 h-5 shrink-0 mt-0.5"}),e("div",null,[t[0]||(t[0]=e("strong",{class:"font-semibold"},"Something went wrong.",-1)),t[1]||(t[1]=_()),e("span",null,n(d.value),1)])])):m.value.length?(o(),r("div",M,[e("table",O,[t[4]||(t[4]=e("thead",null,[e("tr",{class:"border-b border-slate-200 dark:border-laiq-dark-600 text-left text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400"},[e("th",{class:"px-4 py-3 font-semibold"},"Received"),e("th",{class:"px-4 py-3 font-semibold"},"Name"),e("th",{class:"px-4 py-3 font-semibold"},"Company"),e("th",{class:"px-4 py-3 font-semibold"},"Email"),e("th",{class:"px-4 py-3 font-semibold"},"Message"),e("th",{class:"px-4 py-3 font-semibold"},"Status"),e("th",{class:"px-4 py-3 font-semibold"},"Notes"),e("th",{class:"px-4 py-3 font-semibold"},"Bridge"),e("th",{class:"px-4 py-3 font-semibold"},"File")])],-1)),e("tbody",null,[(o(!0),r(b,null,k(m.value,s=>
1(o(),r("tr",{key:s.id,class:"border-b border-slate-100 dark:border-laiq-dark-700/60 align-top hover:bg-slate-50 dark:hover:bg-laiq-dark-700/40"},[e("td",V,n(N(s.created_at)),1),e("td",I,n(s.name||"â"),1),e("td",z,n(s.company||"â"),1),e("td",P,[e("a",{href:`mailto:${s.email}`,class:"text-emerald-600 dark:text-emerald-400 hover:underline"},n(s.email||"â"),9,R)]),e("td",H,[s.message?(o(),r("span",{key:0,title:s.message,class:"line-clamp-2"},n(s.message),9,U)):(o(),r("span",Z,"â"))]),e("td",G,[e("select",{value:s.status,onChange:l=>y(s,{status:l.target.value}),class:v(["rounded-btn border px-2 py-1 text-xs font-semibold capitalize focus:outline-none focus:ring-1 focus:ring-emerald-500 dark:bg-laiq-dark-800",C(s.status)])},[(o(),r(b,null,k(f,l=>e("option",{key:l.value,value:l.value},n(l.label),9,K)),64))],42,J)]),e("td",Q,[e("input",{value:s.notes,onChange:l=>y(s,{notes:l.target.value}),placeholder:"Add a noteâ¦",class:"w-full rounded-btn border border-slate-200 dark:border-laiq-dark-600 bg-white dark:bg-laiq-dark-800 px-2 py-1 text-xs text-slate-700 dark:text-slate-200 focus:outline-none focus:ring-1 focus:ring-emerald-500"},null,40,W)]),e("td",X,[e("span",{class:v(["text-[11px] font-semibold px-2 py-0.5 rounded-full",s.bridge_notified?"bg-emerald-100 text-emerald-800 dark:bg-emerald-500/20 dark:text-emerald-300":"bg-amber-100 text-amber-800 dark:bg-amber-500/20 dark:text-amber-300"])},n(s.bridge_notified?"Notified":"Failed"),3)]),e("td",Y,[s.has_file?(o(),r("button",{key:0,onClick:l=>S(s),disabled:u.value===s.id,class:"inline-flex items-center gap-1 text-emerald-600 dark:text-emerald-400 hover:underline disabled:opacity-50"},[i(g(j),{class:"w-4 h-4"}),_(" "+n(u.value===s.id?"Preparingâ¦":"Download"),1)],8,ee)):(o(),r("span",te,"â"))])]))),128))])])])):(o(),r("div",T,[i(g(B),{class:"w-10 h-10 text-slate-400 dark:text-slate-500"}),t[2]||(t[2]=e("p",{class:"text-sm text-slate-600 dark:text-slate-300"},"No leads yet.",-1)),t[3]||(t[3]=e("p",{class:"text-xs text-slate-400 dark:text-slate-500"},"Demo requests from the marketing site will appear here.",-1))]))]))}};export{de 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.