1import{r as l,j as e,H as K,L as W,d as v}from"./app-7HBJ1Apf.js";import{S as X}from"./super-admin-layout-CS6NPVk1.js";import{B as c}from"./button-x9iCiHwy.js";import{b as o,C as m,c as p,a as x,d as Y}from"./card-D8QYfN0a.js";import{B as U}from"./badge-DlBLFwO_.js";import{I as F}from"./input-BKIYy12E.js";import{L as d}from"./label-UWbOryIJ.js";import{T as M}from"./textarea-D04awu4t.js";import{S as N,a as y,b as _,c as w,d as i}from"./select-k7kpKpKU.js";import{T as Z}from"./toast-BXJoIwj2.js";import{A as ee}from"./arrow-left-DzjDmEJY.js";import{U as se}from"./user-C11W5xqZ.js";import{P as ae}from"./phone-DSeoz5vn.js";import{M as te}from"./mail-DgxcT8D3.js";import{C as ie}from"./clock-CPiHZyjf.js";import{C as le}from"./calendar-BUWH1cSg.js";import{M as re}from"./message-square-BXeYCRQ8.js";import{A as k}from"./activity-gmJTuMCA.js";/* empty css */import"./nav-main-DAd6sXcd.js";import"./createLucideIcon-B-GenWB7.js";import"./dropdown-menu-B1PUnwcf.js";import"./check-DwUTHKzP.js";import"./index-D70aP5MW.js";import"./index-BIyNxQqj.js";import"./index-C8WrhDd4.js";import"./index-BqjgvoQR.js";import"./sheet-DOKt16Rx.js";import"./index-5SrjSmjN.js";import"./x-Vl-l8R5q.js";import"./use-mobile-navigation-Cs1LY7kG.js";import"./app-logo-icon-vD8jXHxq.js";import"./nav-footer-OztTASvz.js";import"./institute-admin-app-sidebar-layout-CDfA9CGh.js";import"./users-TfVkPDFO.js";import"./graduation-cap-BzAjWGD_.js";import"./book-open-CekbENE4.js";import"./ticket-WN-C8Icz.js";import"./theme-toggle-C2xQe2Ub.js";import"./sun-BOBLWgeB.js";import"./user-check-A5wfCfeC.js";import"./credit-card-BcqAkj9j.js";import"./file-text-CznOadTM.js";import"./school-CcsSJsKd.js";import"./video-BTh5zbtm.js";import"./circle-help-Bx96xs2_.js";import"./bell-Di2hbogt.js";import"./chevron-down-DSrXABT6.js";import"./circle-play-BBpk1hrR.js";import"./target-CV5Gf0K7.js";import"./sparkles-cElY-yTv.js";import"./settings-CNeQIGts.js";import"./shield-check-B-NQhW7f.js";import"./index-Cdjj24pt.js";import"./circle-check-big-oqKdYS3K.js";import"./circle-alert-B7oQDflj.js";function cs({lead:B,superAdmins:E}){const[a,u]=l.useState(B),[H,r]=l.useState(null),[h,n]=l.useState(!1),[C,O]=l.useState(a.status),[j,R]=l.useState(a.assigned_to?.id?.toString()||"unassigned"),[b,I]=l.useState(a.notes||""),[S,L]=l.useState(a.next_follow_up_date||""),[g,A]=l.useState(""),[D,Q]=l.useState("call"),[f,T]=l.useState(""),V=[{title:"CRM",href:"#"},{title:"Leads",href:"/super-admin/leads"},{title:a.name}],$=s=>{const q={new:{variant:"default",label:"New"},contacted:{variant:"secondary",label:"Contacted"},qualified:{variant:"outline",label:"Qualified"},converted:{variant:"default",label:"Converted"},lost:{variant:"destructive",label:"Lost"},on_hold:{variant:"secondary",label:"On Hold"}}[s]||{variant:"outline",label:"Unknown"};return e.jsx(U,{variant:q.variant,children:q.label})},z=s=>{const t={campaign:"Campaign",form:"Form",demo_request:"Demo Request",lms_request:"LMS Request",quote_request:"Quote Request",manual:"Manual"};return e.jsx(U,{variant:"outline",children:t[s]||s})},P=async()=>{n(!0);try{const s=await v.put(`/super-admin/leads/${a.id}`,{status:C,assigned_to:j==="unassigned"?null:j,notes:b,next_follow_up_date:S||null});s.data.type==="success"&&(u(s.data.lead),L(s.data.lead.next_follow_up_date||""),r({type:"success",message:s.data.message}))}catch(s){r({type:"danger",message:s.response?.data?.message||"Failed to update lead"})}finally{n(!1)}},G=async()=>{if(!g.trim()){r({type:"danger",message:"Note cannot be empty"});return}n(!0);try{const s=await v.post(`/super-admin/leads/${a.id}/notes`,{note:g});s.data.type==="success"&&(r({type:"success",message:s.data.message}),A(""),u(t=>({...t,lead_notes:[s.data.note,...t.lead_notes]})))}catch(s){r({type:"danger",message:s.response?.data?.message||"Failed to add note"})}finally{n(!1)}},J=async()=>{if(!f.trim()){r({type:"danger",message:"Activity description cannot be empty"});return}n(!0);try{const s=await v.post(`/super-admin/leads/${a.id}/activities`,{activity_type:D,description:f});s.data.type==="success"&&(r({type:"success",message:s.data.message}),T(""),u(t=>({...t,activities:[s.data.activity,...t.activities],last_contacted_at:s.data.activity.activity_type==="call"||s.data.activity.activity_type==="email"||s.data.activity.activity_type==="meeting"?s.data.activity.created_at:t.last_contacted_at})))}catch(s){r({type:"danger",message:s.response?.data?.message||"Failed to log activity"})}finally{n(!1)}};return e.jsxs(X,{breadcrumbs:V,children:[e.jsx(K,{title:`Lead: ${a.name}`}),e.jsxs("div",{className:"flex flex-1 flex-col gap-4 p-4",children:[e.jsx(Z,{toast:H,onClose:()=>r(null)}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(c,{variant:"outline",size:"icon",asChild:!0,children:e.jsx(W,{href:"/super-admin/leads",children:e.jsx(ee,{className:"h-4 w-4"})})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-semibold",children:a.name}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Lead #",a.id," ⢠Created ",new Date(a.created_at).toLocaleDateString()]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[$(a.status),z(a.source)]})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[e.jsxs("div",{className:"md:col-span-2 space-y-4",children:[e.jsxs(o,{children:[e.jsx(m,{children:e.jsx(p,{children:"Contact Information"})}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{className:"h-5 w-5 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Name"}),e.jsx("p",{className:"font-medium",children:a.name})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ae,{className:"h-5 w-5 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Phone"}),e.jsx("p",{className:"font-medium",children:a.phone})]})]}),a.email&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(te,{className:"h-5 w-5 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Email"}),e.jsx("p",{className:"font-medium",children:a.email})]})]}),a.last_contacted_at&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ie,{className:"h-5 w-5 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Last Contacted"}),e.jsx("p",{className:"font-medium",children:new Date(a.last_contacted_at).toLocaleDateString()})]})]}),a.next_follow_up_date&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(le,{className:"h-5 w-5 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Next Follow-up"}),e.jsx("p",{className:"font-medium",children:new Date(a.next_follow_up_date).toLocaleDateString()})]})]})]}),a.campaign&&e.jsxs("div",{className:"pt-4 border-t",children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"Campaign"}),e.jsx("p",{className:"font-medium",children:a.campaign.name})]}),a.form_data&&Object.keys(a.form_data).length>0&&e.jsxs("div",{className:"pt-4 border-t",children:[e.jsx("p",{className:"text-sm font-medium mb-3",children:"Form Data"}),e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:Object.entries(a.form_data).map(([s,t])=>e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground capitalize",children:s.replace(/_/g," ")}),e.jsx("p",{className:"font-medium",children:Array.isArray(t)?t.join(", "):String(t)})]},s))})]})]})]}),e.jsxs(o,{children:[e.jsx(m,{children:e.jsxs(p,{className:"flex items-center gap-2",children:[e.jsx(re,{className:"h-5 w-5"}),"Notes"]})}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Add Note"}),e.jsx(M,{value:g,onChange:s=>A(s.target.value),placeholder:"Enter note...",rows:3}),e.jsx(c,{onClick:G,disabled:h,children:"Add Note"})]}),a.lead_notes.length>0&&e.jsx("div",{className:"pt-4 border-t space-y-3",children:a.lead_notes.map(s=>e.jsxs("div",{className:"border rounded-lg p-3 bg-muted/30",children:[e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:s.note}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:[s.user.name," ⢠",new Date(s.created_at).toLocaleStr
1ing()]})]},s.id))})]})]}),e.jsxs(o,{children:[e.jsx(m,{children:e.jsxs(p,{className:"flex items-center gap-2",children:[e.jsx(k,{className:"h-5 w-5"}),"Activity Log"]})}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Activity Type"}),e.jsxs(N,{value:D,onValueChange:Q,children:[e.jsx(y,{children:e.jsx(_,{})}),e.jsxs(w,{children:[e.jsx(i,{value:"call",children:"Call"}),e.jsx(i,{value:"email",children:"Email"}),e.jsx(i,{value:"meeting",children:"Meeting"}),e.jsx(i,{value:"other",children:"Other"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Description"}),e.jsx(F,{value:f,onChange:s=>T(s.target.value),placeholder:"Enter activity description"})]})]}),e.jsx(c,{onClick:J,disabled:h,children:"Log Activity"}),a.activities.length>0&&e.jsx("div",{className:"pt-4 border-t space-y-3",children:a.activities.map(s=>e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"rounded-full bg-muted p-2",children:e.jsx(k,{className:"h-4 w-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium capitalize",children:s.activity_type.replace(/_/g," ")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.user.name," ⢠",new Date(s.created_at).toLocaleString()]})]})]},s.id))})]})]})]}),e.jsx("div",{className:"space-y-4",children:e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsx(p,{children:"Lead Details"}),e.jsx(Y,{children:"Update lead status and assignment"})]}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Status"}),e.jsxs(N,{value:C,onValueChange:O,children:[e.jsx(y,{children:e.jsx(_,{})}),e.jsxs(w,{children:[e.jsx(i,{value:"new",children:"New"}),e.jsx(i,{value:"contacted",children:"Contacted"}),e.jsx(i,{value:"qualified",children:"Qualified"}),e.jsx(i,{value:"converted",children:"Converted"}),e.jsx(i,{value:"lost",children:"Lost"}),e.jsx(i,{value:"on_hold",children:"On Hold"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Assigned To"}),e.jsxs(N,{value:j,onValueChange:R,children:[e.jsx(y,{children:e.jsx(_,{placeholder:"Unassigned"})}),e.jsxs(w,{children:[e.jsx(i,{value:"unassigned",children:"Unassigned"}),E.map(s=>e.jsx(i,{value:s.id.toString(),children:s.name},s.id))]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Next Follow-up Date"}),e.jsx(F,{type:"date",value:S,onChange:s=>L(s.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Notes"}),e.jsx(M,{value:b,onChange:s=>I(s.target.value),placeholder:"Quick notes about this lead",rows:4})]}),e.jsx(c,{onClick:P,disabled:h,className:"w-full",children:"Update Lead"})]})]})})]})]})]})}export{cs 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.