1import{r as j,p as H,u as I,j as e,X as C,S as a,C as $,b as D,g as T,O as X,R as G,a as n,ah as J,ad as O,I as U,_ as W,d as V,B as E,a3 as Y,af as ee,E as se,a4 as te,a5 as ae,a6 as ie,ag as ne,$ as re,V as ce}from"./index-B5zFf__L.js";import{S as le,a as de,b as me,c as xe,d as x}from"./select-BMPP2yyW.js";import{F as oe}from"./filter-zSPYTNKd.js";import{P as ue}from"./plus-BC539_H2.js";import{B as b}from"./building-2-B8bk9PSw.js";import{C as S}from"./calendar-SCm2fYgZ.js";import{C as he}from"./copy-B3XC0f5p.js";import{M as f}from"./index-BGSxATgS.js";import{C as je}from"./chevron-left-DsLd6HBA.js";import{C as fe}from"./circle-x-8ufDcPuY.js";import"./index-BeLe48w1.js";import"./chevron-down-vV7lnHiz.js";const L={draft:"Bozza",sent:"Inviata",accepted:"Accettata",rejected:"Rifiutata"},ge={draft:V,sent:re,accepted:ce,rejected:fe},ve={draft:"default",sent:"default",accepted:"default",rejected:"destructive"};function Ie(){const[c,F]=j.useState(null),[g,M]=j.useState("all"),[o,R]=j.useState(""),[u,v]=j.useState(1),N=6,{toast:k}=H(),q=async s=>{try{await navigator.clipboard.writeText(s),k({title:"â
Copiato!",description:"Il contenuto della proposta è stato copiato negli appunti"})}catch{k({title:"â Errore",description:"Impossibile copiare il contenuto negli appunti",variant:"destructive"})}},{data:p,isLoading:Q,error:K,refetch:P}=I({queryKey:["/api/proposals"],retry:1}),d=(p==null?void 0:p.data)||[],y=d.filter(s=>{var i;const t=g==="all"||s.status===g,r=!o||s.title.toLowerCase().includes(o.toLowerCase())||(((i=s.company)==null?void 0:i.name)||"").toLowerCase().includes(o.toLowerCase());return t&&r}),h=Math.ceil(y.length/N),z=(u-1)*N,B=y.slice(z,z+N);I({queryKey:["/api/proposals",c==null?void 0:c.id],enabled:!!(c!=null&&c.id),retry:1});const Z=s=>{F(s)},w=s=>new Date(s).toLocaleDateString("it-IT",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}),_=s=>{const t={executiveSummary:"",keyBenefits:"",nextSteps:"",fullContent:s},r=s.match(/(?:Executive Summary|Riassunto Esecutivo|Sommario Esecutivo)[:\n]([\s\S]*?)(?=\n(?:[A-Z][^:\n]*:|$))/i);r&&(t.executiveSummary=r[1].trim());const i=s.match(/(?:Key Benefits|Vantaggi Chiave|Benefici Principali)[:\n]([\s\S]*?)(?=\n(?:[A-Z][^:\n]*:|$))/i);i&&(t.keyBenefits=i[1].trim());const m=s.match(/(?:Next Steps|Prossimi Passi|Passaggi Successivi)[:\n]([\s\S]*?)(?=\n(?:[A-Z][^:\n]*:|$))/i);return m&&(t.nextSteps=m[1].trim()),t};return Q?e.jsx(C,{children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 py-8",children:e.jsxs("div",{className:"space-y-6",children:[e.jsx(a,{className:"h-10 w-64"}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(a,{className:"h-10 w-48"}),e.jsx(a,{className:"h-10 w-64"}),e.jsx(a,{className:"h-10 w-32"})]}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6}).map((s,t)=>e.jsxs($,{children:[e.jsxs(D,{children:[e.jsx(a,{className:"h-5 w-3/4"}),e.jsx(a,{className:"h-4 w-1/2"})]}),e.jsxs(T,{className:"space-y-3",children:[e.jsx(a,{className:"h-4 w-full"}),e.jsx(a,{className:"h-4 w-2/3"}),e.jsx(a,{className:"h-8 w-24"})]})]},t))})]})})}):K?e.jsx(C,{children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 py-8",children:e.jsx(X,{variant:"destructive",children:e.jsxs(G,{children:["Errore nel caricamento delle proposte.",e.jsx(n,{variant:"outline",size:"sm",className:"ml-2",onClick:()=>P(),"data-testid":"button-retry",children:"Riprova"})]})})})}):e.jsx(C,{children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 py-8",children:[e.jsx("div",{className:"mb-8",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Proposte di Collaborazione"}),e.jsx("p",{className:"text-muted-foreground",children:"Gestisci e visualizza tutte le tue proposte commerciali generate"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(n,{variant:"outline",size:"sm",onClick:()=>P(),"data-testid":"button-refresh",children:[e.jsx(J,{className:"w-4 h-4 mr-2"}),"Aggiorna"]})})]})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"w-4 h-4 text-muted-foreground"}),e.jsx(U,{placeholder:"Cerca proposte o aziende...",value:o,onChange:s=>R(s.target.value),className:"min-w-64","data-testid":"input-search"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(oe,{className:"w-4 h-4 text-muted-foreground"}),e.jsxs(le,{value:g,onValueChange:M,children:[e.jsx(de,{className:"w-48","data-testid":"select-status-filter",children:e.jsx(me,{placeholder:"Filtra per stato"})}),e.jsxs(xe,{children:[e.jsx(x,{value:"all",children:"Tutti gli stati"}),e.jsx(x,{value:"draft",children:"Bozze"}),e.jsx(x,{value:"sent",children:"Inviate"}),e.jsx(x,{value:"accepted",children:"Accettate"}),e.jsx(x,{value:"rejected",children:"Rifiutate"})]})]})]}),e.jsxs("div",{className:"ml-auto text-sm text-muted-foreground",children:[y.length," di ",d.length," proposte"]})]}),B.length===0?e.jsxs("div",{className:"text-center py-12",children:[e.jsx(W,{className:"w-12 h-12 text-muted-foreground mx-auto mb-4"}),e.jsx("h3",{className:"text-lg font-medium text-foreground mb-2",children:d.length===0?"Nessuna proposta trovata":"Nessun risultato"}),e.jsx("p",{className:"text-muted-foreground mb-6",children:d.length===0?"Inizia caricando biglietti da visita per generare le tue prime proposte commerciali":"Prova a modificare i filtri di ricerca per trovare quello che cerchi"}),d.length===0&&e.jsxs(n,{"data-testid":"button-start-upload",children:[e.jsx(ue,{className:"w-4 h-4 mr-2"}),"Carica Biglietto da Visita"]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:B.map(s=>{var i,m,A;const t=ge[s.status]||V,r=ve[s.status]||"default";return e.jsxs($,{className:"hover-elevate",children:[e.jsxs(D,{className:"pb-3",children:[e.jsx("div",{className:"flex items-start justify-between gap-2 mb-2",children:e.jsxs(E,{variant:r,className:"flex-shrink-0",children:[e.jsx(t,{className:"w-3 h-3 mr-1"}),L[s.status]||s.status]})}),((i=s.company)==null?void 0:i.name)&&e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(b,{className:"w-4 h-4 text-primary"}),e.jsx("span",{className:"font-semibold text-sm text-foreground","data-testid":`text-company-name-${s.id}`,children:s.company.name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"font-medium line-clamp-2",children:s.title}),e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:((m=s.company)==null?void 0:m.name)&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(b,{className:"w-3 h-3"}),e.jsx("span",{className:"truncate",children:s.company.name})]})}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(S,{className:"w-3 h-3"}),e.jsx("span",{children:new Date(s.createdAt).toLocaleDateString("it-IT")}),e.jsx("span",{children:"â¢"}),e.jsx("span",{className:"capitalize",children:s.leadId?"New Leads":s.quackeScanJobId?"Quacke Scan":"Biglietto da Visita"})]})]})]}),e.jsx(T,{className:"pt-0",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{className:"text-sm text-muted-foreground line-clamp-3","data-testid":`text-content-preview-${s.id}`,children:[s.content.substring(0,150),"..."]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx(S,{className:"w-3 h-3"}),e.jsx("span",{"data-testid":`text-created-date-${s.id}`,children:w(s.createdAt)})]}),e.jsxs(Y,{children:[e.jsx(ee,{asChild:!0,children:e.jsxs(n,{variant:"outline",size:"sm",onClick:()=>Z(s),"data-testid":`button-view-${s.id}`,children:[e.jsx(se,{className:"w-4 h-4 mr-1"}),"Visualizza"]})}),e.jsxs(te,{className:"max-w-4xl max-h-[80vh] overflow-hidden",children:[e.jsxs(ae,{children:[e.jsx(ie,{className:"pr-8",children:s.title}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[((A=s.company)==null?void 0:A.name)&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(b,{className:"w-4 h-4"}),s.company.name]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(S,{className:"w-4 h-4"}),w(s.createdAt)]}),e.jsxs(E,{variant:r,children:[e.jsx(t,{className:"w-3 h-3 mr-1"}),L[s.status]||s.status]})]})]}),e.jsx("div",{className:"overflow-y-auto max-h-[60vh] pr-2",children:e.jsx("div",{className:"space-y-6",children:(()=>{const l=_(s.content);return e.jsxs(e.Fragment,{children:[l.executiveSummary&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Executive Summary"}),e.jsx("div",{className:"text-sm text-muted-foreground prose prose-sm max-w-none","data-testid":`text-executive-summary-${s.id}`,children:e.jsx(f,{children:l.executiveSummary})})]}),l.keyBenefits&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Vantaggi Chiave"}),e.jsx("div",{className:"text-sm text-muted-foreground prose prose-sm max-w-none","data-testid":`text-key-benefits-${s.id}`,children:e.jsx(f,{children:l.keyBenefits})})]}),l.nextSteps&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Prossimi Passi"}),e.jsx("div",{className:"text-sm text-muted-foreground prose prose-sm max-w-none","data-testid":`text-next-steps-${s.id}`,children:e.jsx(f,{children:l.nextSteps})})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h4",{className:"font-semibold text-foreground",children:"Proposta Completa"}),e.jsxs(n,{variant:"outline",size:"sm",onClick:()=>q(s.content),"data-testid":`button-copy-${s.id}`,children:[e.jsx(he,{className:"w-4 h-4 mr-1"}),"Copia"]})]}),e.jsx("div",{className:"text-sm text-muted-foreground bg-muted/50 p-4 rounded-md prose prose-sm max-w-none","data-testid":`text-full-content-${s.id}`,children:e.jsx(f,{children:s.content})})]}),e.jsx("div",{className:"pt-4 border-t",children:e.jsx("div",{className:"flex items-center justify-end text-xs text-muted-foreground",children:e.jsxs("span",{children:["Aggiornata il ",w(s.updatedAt)]})})})]})})()})})]})]})]})]})})]},s.id)})}),h>1&&e.jsxs("div",{className:"flex items-center justify-center gap-2 mt-8",children:[e.jsxs(n,{variant:"outline",size:"sm",onClick:()=>v(s=>Math.max(1,s-1)),disabled:u===1,"data-testid":"button-previous-page",children:[e.jsx(je,{className:"w-4 h-4 mr-1"}
1),"Precedente"]}),e.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:h},(s,t)=>t+1).map(s=>e.jsx(n,{variant:u===s?"default":"outline",size:"sm",onClick:()=>v(s),"data-testid":`button-page-${s}`,children:s},s))}),e.jsxs(n,{variant:"outline",size:"sm",onClick:()=>v(s=>Math.min(h,s+1)),disabled:u===h,"data-testid":"button-next-page",children:["Prossima",e.jsx(ne,{className:"w-4 h-4 ml-1"})]})]})]})]})})}export{Ie 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.