2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{r as g,d as U,u as J,j as e,s as Q,c as V,h as X,n as Y,m as Z,x as _,y as O,R as ee,B as d,D as se,T as p,K as te,L as ae,M as T,N as P,z as M,C as F,O as ne}from"./index-D2TD1aux.js";import{u as re,l as ie,c as E,L as N,A as G,B as f,C as I,k as z,P as le}from"./Layout-lJ1qJP1d.js";import{T as q,D as oe}from"./Description-CwGWTPN3.js";import{C as $}from"./CardContent-DzxfqTH3.js";import{c as K,g as ce,l as H,L as A,b as de,a as W}from"./ListItemText-PiFkW-RX.js";import{A as pe}from"./Assessment-B1e4xQQW.js";import{L as xe,B as ue,A as he,a as me,E as fe,b as ge}from"./LocationOn-zyAqFnMR.js";import"./utils-a0w_PXv5.js";const ye=(a,c)=>{const{ownerState:u}=a;return[c.root,u.dense&&c.dense,u.alignItems==="flex-start"&&c.alignItemsFlexStart,u.divider&&c.divider,!u.disableGutters&&c.gutters]},je=a=>{const{alignItems:c,classes:u,dense:S,disabled:o,disableGutters:b,divider:k,selected:y}=a,x=X({root:["root",S&&"dense",!b&&"gutters",k&&"divider",o&&"disabled",c==="flex-start"&&"alignItemsFlexStart",y&&"selected"]},ce,u);return{...u,...x}},ve=Q(ie,{shouldForwardProp:a=>Y(a)||a==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:ye})(Z(({theme:a})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:a.transitions.create("background-color",{duration:a.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${H.selected}`]:{backgroundColor:a.alpha((a.vars||a).palette.primary.main,(a.vars||a).palette.action.selectedOpacity),[`&.${H.focusVisible}`]:{backgroundColor:a.alpha((a.vars||a).palette.primary.main,`${(a.vars||a).palette.action.selectedOpacity} + ${(a.vars||a).palette.action.focusOpacity}`)}},[`&.${H.selected}:hover`]:{backgroundColor:a.alpha((a.vars||a).palette.primary.main,`${(a.vars||a).palette.action.selectedOpacity} + ${(a.vars||a).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:a.alpha((a.vars||a).palette.primary.main,(a.vars||a).palette.action.selectedOpacity)}},[`&.${H.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`&.${H.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity},variants:[{props:({ownerState:c})=>c.divider,style:{borderBottom:`1px solid ${(a.vars||a).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:c})=>!c.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:c})=>c.dense,style:{paddingTop:4,paddingBottom:4}}]}))),Ce=g.forwardRef(function(c,u){const S=U({props:c,name:"MuiListItemButton"}),{alignItems:o="center",autoFocus:b=!1,component:k="div",children:y,dense:w=!1,disableGutters:x=!1,divider:L=!1,focusVisibleClassName:v,selected:R=!1,className:h,...j}=S,C=g.useContext(K),B=g.useMemo(()=>({dense:w||C.dense||!1,alignItems:o,disableGutters:x}),[o,C.dense,w,x]),m=g.useRef(null);J(()=>{b&&m.current&&m.current.focus()},[b]);const D={...S,alignItems:o,dense:B.dense,disableGutters:x,divider:L,selected:R},i=je(D),t=re(m,u);return e.jsx(K.Provider,{value:B,children:e.jsx(ve,{ref:t,href:j.href||j.to,component:(j.href||j.to)&&k==="div"?"button":k,focusVisibleClassName:V(i.focusVisible,v),ownerState:D,className:V(i.root,h),...j,classes:i,children:y})})}),be=E(e.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"})),we=E(e.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"})),Ie=E(e.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"})),$e=E(e.jsx("path",{d:"m23 12-2.44-2.79.34-3.69-3.61-.82-1.89-3.2L12 2.96 8.6 1.5 6.71 4.69 3.1 5.5l.34 3.7L1 12l2.44 2.79-.34 3.7 3.61.82L8.6 22.5l3.4-1.47 3.4 1.46 1.89-3.19 3.61-.82-.34-3.69zm-12.91 4.72-3.8-3.81 1.48-1.48 2.32 2.33 5.85-5.87 1.48 1.48z"}));function Ne(){const a=_(),{folderResults:c,currentResultIndex:u,loading:S}=O(t=>t.document),{currentFolderHash:o}=O(t=>t.document),[b,k]=g.useState(u),y=c[b],[w,x]=g.useState(null),[L,v]=g.useState([]),[R,h]=g.useState([]),[j,C]=g.useState([]),[B,m]=g.useState({});ee.useEffect(()=>{if(!y){v([]),h([]),C([]);return}try{const t=y.extraction?.entities||{};v((t.persons||[]).map(s=>({id:s.id,firstName:s.firstName||"",lastName:s.lastName||"",description:s.description||""}))),h((t.addresses||[]).map(s=>({id:s.id,street:s.street||"",postalCode:s.postalCode||"",city:s.city||"",country:s.country||"",description:s.description||""}))),C((t.companies||[]).map(s=>({id:s.id,name:s.name||"",description:s.description||""})))}catch{v([]),h([]),C([])}},[y?.fileHash]);const D=t=>{t>=0&&t<c.length&&(k(t),a(ne(t)))};if(S)return e.jsx(N,{children:e.jsxs(d,{display:"flex",alignItems:"center",justifyContent:"center",minHeight:200,children:[e.jsx(se,{size:28,sx:{mr:2}}),e.jsx(p,{children:"Chargement des fichiers du dossier…"})]})});if(c.length===0)return e.jsx(N,{children:e.jsx(G,{severity:"info",children:"Aucun résultat d'extraction disponible. Veuillez d'abord téléverser des documents."})});if(!y)return e.jsx(N,{children:e.jsx(G,{severity:"error",children:"Erreur: Résultat d'extraction non trouvé."})});const i=y;return e.jsxs(N,{children:[e.jsxs(d,{sx:{mb:3},children:[e.jsx(p,{variant:"h4",gutterBottom:!0,children:"Résultats d'extraction"}),e.jsx(d,{sx:{display:"flex",justifyContent:"flex-end",mb:2},children:e.jsx(q,{title:"Re-traiter le dossier: vide le cache puis relance l'analyse de tous les fichiers présents dans uploads/<hash>.",children:e.jsx("span",{children:e.jsx(f,{variant:"contained",color:"primary",disabled:!o,onClick:async()=>{if(o)try{const t=await te(o),s=await ae(o);alert(`Cache vidé (${t.removed} éléments). Re-traitement lancé (${s.scheduled} fichiers).`)}catch(t){alert(`Erreur lors du re-traitement: ${t?.message||t}`)}},children:"Re-traiter le dossier"})})})})]}),e.jsxs(d,{sx:{display:"flex",gap:3},children:[e.jsx(I,{sx:{flex:"0 0 320px",maxHeight:"70vh",overflow:"auto"},children:e.jsx($,{sx:{p:0},children:e.jsx(A,{dense:!0,disablePadding:!0,children:c.map((t,s)=>e.jsx(Ce,{selected:s===b,onClick:()=>D(s),children:e.jsx(q,{title:t.document.fileName,placement:"right",children:e.jsx(de,{primaryTypographyProps:{sx:{display:"block",maxWidth:260,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},primary:t.document.fileName,secondary:new Date(t.document.uploadTimestamp).toLocaleString()})})},t.fileHash))})})}),e.jsxs(d,{sx:{flex:"1 1 auto",minWidth:0},children:[e.jsx(I,{sx:{mb:3},children:e.jsxs($,{children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:2,mb:2},children:[e.jsx(oe,{color:"primary"}),e.jsx(p,{variant:"h6",children:i.document.fileName}),e.jsx(z,{label:i.document.mimeType,size:"small",variant:"outlined"}),e.jsx(z,{label:`${(i.document.fileSize/1024/1024).toFixed(2)} MB`,size:"small",variant:"outlined"})]}),e.jsxs(d,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:[e.jsx(z,{icon:e.jsx(be,{}),label:`Langue: ${i.classification.language}`,color:"info",variant:"outlined"}),e.jsx(z,{icon:e.jsx($e,{}),label:`Type: ${i.classification.documentType}`,color:"success",variant:"outlined"}),e.jsx(z,{icon:e.jsx(pe,{}),label:`Confiance: ${(i.metadata.quality.globalConfidence*100).toFixed(1)}%`,color:i.metadata.quality.globalConfidence>.8?"success":"warning",variant:"outlined"})]})]})}),e.jsx(I,{sx:{mb:3},children:e.jsxs($,{children:[e.jsxs(p,{variant:"h6",gutterBottom:!0,children:[e.jsx(Ie,{sx:{mr:1,verticalAlign:"middle"}}),"Texte extrait"]}),e.jsx(le,{sx:{p:2,bgcolor:"grey.50",maxHeight:300,overflow:"auto"},children:e.jsx(p,{variant:"body2",sx:{whiteSpace:"pre-wrap"},children:i.extraction.text.raw})})]})}),e.jsxs(d,{sx:{display:"flex",gap:3,flexWrap:"wrap"},children:[L.length>0&&e.jsx(I,{sx:{flex:"1 1 300px"},children:e.jsxs($,{children:[e.jsxs(p,{variant:"h6",gutterBottom:!0,children:[e.jsx(we,{sx:{mr:1,verticalAlign:"middle"}}),"Personnes (",L.length,")"]}),e.jsx(d,{sx:{mb:1,color:"text.secondary"},children:'Au clic sur "Collecter", la collecte externe démarre si nécessaire puis génère un PDF dans le dossier.'}),e.jsx(A,{dense:!0,children:L.map((t,s)=>e.jsx(W,{disableGutters:!0,sx:{py:.5},children:e.jsxs(d,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flex:"1 1 auto",minWidth:0,flexWrap:"wrap"},children:[e.jsx("input",{style:{padding:4,width:140},placeholder:"Prénom",value:t.firstName,onChange:r=>v(l=>{const n=[...l];return n[s]={...n[s],firstName:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:160},placeholder:"Nom",value:t.lastName,onChange:r=>v(l=>{const n=[...l];return n[s]={...n[s],lastName:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",value:t.description,onChange:r=>v(l=>{const n=[...l];return n[s]={...n[s],description:r.target.value},n})})]}),e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(f,{size:"small",variant:"outlined",onClick:async()=>{m(r=>({...r,[`p-${s}`]:"running"})),await T(o,i.fileHash,"person"),setTimeout(async()=>{const r=await P(o,i.fileHash,"person");m(l=>({...l,[`p-${s}`]:r.state||"idle"}))},1800)},children:B[`p-${s}`]==="running"?"Collecte…":"Collecter"}),e.jsx(f,{size:"small",variant:"outlined",disabled:w===`p-${s}`,onClick:async()=>{try{x(`p-${s}`),await M(o,i.fileHash,"person",{index:s,id:t.id,patch:{firstName:t.firstName,lastName:t.lastName,description:t.description||""}})}finally{x(null)}},children:"Enregistrer"}),e.jsx(f,{size:"small",color:"error",onClick:async()=>{await F(o,i.fileHash,"person",{index:s,id:t.id})},children:"Supprimer"})]})]})},`p-${s}`))})]})}),R.length>0&&e.jsx(I,{sx:{flex:"1 1 300px"},children:e.jsxs($,{children:[e.jsxs(p,{variant:"h6",gutterBottom:!0,children:[e.jsx(xe,{sx:{mr:1,verticalAlign:"middle"}}),"Adresses (",R.length,")"]}),e.jsx(A,{dense:!0,children:R.map((t,s)=>e.jsx(W,{disableGutters:!0,sx:{py:.5},children:e.jsxs(d,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flex:"1 1 auto",minWidth:0,flexWrap:"wrap"},children:[e.jsx("input",{style:{padding:4,width:240},placeholder:"Rue",value:t.street,onChange:r=>h(l=>{const n=[...l];return n[s]={...n[s],street:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:100},placeholder:"CP",value:t.postalCode,onChange:r=>h(l=>{const n=[...l];return n[s]={...n[s],postalCode:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:180},placeholder:"Ville",value:t.city,onChange:r=>h(l=>{const n=[...l];return n[s]={...n[s],city:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:140},placeholder:"Pays",value:t.country,onChange:r=>h(l=>{const n=[...l];return n[s]={...n[s],country:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",value:t.description,onChange:r=>h(l=>{const n=[...l];return n[s]={...n[s],description:r.target.value},n})})]}),e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(f,{size:"small",variant:"outlined",onClick:async()=>{m(r=>({...r,[`a-${s}`]:"running"})),await T(o,i.fileHash,"address"),setTimeout(async()=>{const r=await P(o,i.fileHash,"address");m(l=>({...l,[`a-${s}`]:r.state||"idle"}))},1800)},children:B[`a-${s}`]==="running"?"Collecte…":"Collecter"}),e.jsx(f,{size:"small",variant:"outlined",disabled:w===`a-${s}`,onClick:async()=>{try{x(`a-${s}`),await M(o,i.fileHash,"address",{index:s,id:t.id,patch:{street:t.street,city:t.city,postalCode:t.postalCode,country:t.country,description:t.description||""}})}finally{x(null)}},children:"Enregistrer"}),e.jsx(f,{size:"small",color:"error",onClick:async()=>{await F(o,i.fileHash,"address",{index:s,id:t.id})},children:"Supprimer"})]})]})},`a-${s}`))})]})}),j.length>0&&e.jsx(I,{sx:{flex:"1 1 300px"},children:e.jsxs($,{children:[e.jsxs(p,{variant:"h6",gutterBottom:!0,children:[e.jsx(ue,{sx:{mr:1,verticalAlign:"middle"}}),"Entreprises (",j.length,")"]}),e.jsx(A,{dense:!0,children:j.map((t,s)=>e.jsx(W,{disableGutters:!0,sx:{py:.5},children:e.jsxs(d,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flex:"1 1 auto",minWidth:0,flexWrap:"wrap"},children:[e.jsx("input",{style:{padding:4,width:300},placeholder:"Raison sociale",value:t.name,onChange:r=>C(l=>{const n=[...l];return n[s]={...n[s],name:r.target.value},n})}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",value:t.description,onChange:r=>C(l=>{const n=[...l];return n[s]={...n[s],description:r.target.value},n})})]}),e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(f,{size:"small",variant:"outlined",onClick:async()=>{m(r=>({...r,[`c-${s}`]:"running"})),await T(o,i.fileHash,"company"),setTimeout(async()=>{const r=await P(o,i.fileHash,"company");m(l=>({...l,[`c-${s}`]:r.state||"idle"}))},1800)},children:B[`c-${s}`]==="running"?"Collecte…":"Collecter"}),e.jsx(f,{size:"small",variant:"outlined",disabled:w===`c-${s}`,onClick:async()=>{try{x(`c-${s}`),await M(o,i.fileHash,"company",{index:s,id:t.id,patch:{name:t.name,description:t.description||""}})}finally{x(null)}},children:"Enregistrer"}),e.jsx(f,{size:"small",color:"error",onClick:async()=>{await F(o,i.fileHash,"company",{index:s,id:t.id})},children:"Supprimer"})]})]})},`c-${s}`))})]})})]}),e.jsx(I,{sx:{mt:3},children:e.jsxs($,{children:[e.jsx(p,{variant:"h6",gutterBottom:!0,children:"Métadonnées détaillées"}),e.jsxs(he,{children:[e.jsx(me,{expandIcon:e.jsx(fe,{}),children:e.jsx(p,{children:"Informations de traitement"})}),e.jsx(ge,{children:e.jsxs(d,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsxs(p,{variant:"body2",children:[e.jsx("strong",{children:"Hash du fichier:"})," ",i.fileHash]}),e.jsxs(p,{variant:"body2",children:[e.jsx("strong",{children:"Timestamp:"})," ",new Date(i.status.timestamp).toLocaleString()]}),e.jsxs(p,{variant:"body2",children:[e.jsx("strong",{children:"Confiance globale:"})," ",(i.metadata.quality.globalConfidence*100).toFixed(1),"%"]})]})})]})]})})]})]})]})}export{Ne as default};
|