2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
import{r as v,d as W,u as F,j as e,s as O,c as T,h as G,n as q,m as K,x as U,y as E,B as l,D as J,T as d,K as Q,L as X,z as k,C as R,M as Y}from"./index-BkuOAsyQ.js";import{u as Z,l as _,c as S,L as w,A as H,B as h,C as m,k as C,P as ee}from"./Layout-HUfQIbZm.js";import{T as M,D as se}from"./Description-rLhKmJBh.js";import{C as f}from"./CardContent-D_m--IFw.js";import{c as D,g as te,l as b,L as I,b as ae,a as V}from"./ListItemText-siZDedtT.js";import{A as ie}from"./Assessment-CaixQ7iY.js";import{L as ne,B as re,A as le,a as oe,E as de,b as ce}from"./LocationOn-g4BgcU6o.js";import"./utils-DOxjq0mC.js";const pe=(t,r)=>{const{ownerState:p}=t;return[r.root,p.dense&&r.dense,p.alignItems==="flex-start"&&r.alignItemsFlexStart,p.divider&&r.divider,!p.disableGutters&&r.gutters]},xe=t=>{const{alignItems:r,classes:p,dense:g,disabled:o,disableGutters:x,divider:j,selected:y}=t,c=G({root:["root",g&&"dense",!x&&"gutters",j&&"divider",o&&"disabled",r==="flex-start"&&"alignItemsFlexStart",y&&"selected"]},te,p);return{...p,...c}},ue=O(_,{shouldForwardProp:t=>q(t)||t==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:pe})(K(({theme:t})=>({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:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${b.selected}`]:{backgroundColor:t.alpha((t.vars||t).palette.primary.main,(t.vars||t).palette.action.selectedOpacity),[`&.${b.focusVisible}`]:{backgroundColor:t.alpha((t.vars||t).palette.primary.main,`${(t.vars||t).palette.action.selectedOpacity} + ${(t.vars||t).palette.action.focusOpacity}`)}},[`&.${b.selected}:hover`]:{backgroundColor:t.alpha((t.vars||t).palette.primary.main,`${(t.vars||t).palette.action.selectedOpacity} + ${(t.vars||t).palette.action.hoverOpacity}`),"@media (hover: none)":{backgroundColor:t.alpha((t.vars||t).palette.primary.main,(t.vars||t).palette.action.selectedOpacity)}},[`&.${b.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${b.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:({ownerState:r})=>r.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:r})=>!r.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:r})=>r.dense,style:{paddingTop:4,paddingBottom:4}}]}))),he=v.forwardRef(function(r,p){const g=W({props:r,name:"MuiListItemButton"}),{alignItems:o="center",autoFocus:x=!1,component:j="div",children:y,dense:u=!1,disableGutters:c=!1,divider:$=!1,focusVisibleClassName:a,selected:s=!1,className:n,...i}=g,z=v.useContext(D),A=v.useMemo(()=>({dense:u||z.dense||!1,alignItems:o,disableGutters:c}),[o,z.dense,u,c]),B=v.useRef(null);F(()=>{x&&B.current&&B.current.focus()},[x]);const N={...g,alignItems:o,dense:A.dense,disableGutters:c,divider:$,selected:s},L=xe(N),P=Z(B,p);return e.jsx(D.Provider,{value:A,children:e.jsx(ue,{ref:P,href:i.href||i.to,component:(i.href||i.to)&&j==="div"?"button":j,focusVisibleClassName:T(L.focusVisible,a),ownerState:N,className:T(L.root,n),...i,classes:L,children:y})})}),me=S(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"})),fe=S(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"})),ge=S(e.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"})),je=S(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 Be(){const t=U(),{folderResults:r,currentResultIndex:p,loading:g}=E(s=>s.document),{currentFolderHash:o}=E(s=>s.document),[x,j]=v.useState(p),y=r[x],[u,c]=v.useState(null),$=s=>{s>=0&&s<r.length&&(j(s),t(Y(s)))};if(g)return e.jsx(w,{children:e.jsxs(l,{display:"flex",alignItems:"center",justifyContent:"center",minHeight:200,children:[e.jsx(J,{size:28,sx:{mr:2}}),e.jsx(d,{children:"Chargement des fichiers du dossier…"})]})});if(r.length===0)return e.jsx(w,{children:e.jsx(H,{severity:"info",children:"Aucun résultat d'extraction disponible. Veuillez d'abord téléverser des documents."})});if(!y)return e.jsx(w,{children:e.jsx(H,{severity:"error",children:"Erreur: Résultat d'extraction non trouvé."})});const a=y;return e.jsxs(w,{children:[e.jsxs(l,{sx:{mb:3},children:[e.jsx(d,{variant:"h4",gutterBottom:!0,children:"Résultats d'extraction"}),e.jsx(l,{sx:{display:"flex",justifyContent:"flex-end",mb:2},children:e.jsx(M,{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(h,{variant:"contained",color:"primary",disabled:!o,onClick:async()=>{if(o)try{const s=await Q(o),n=await X(o);alert(`Cache vidé (${s.removed} éléments). Re-traitement lancé (${n.scheduled} fichiers).`)}catch(s){alert(`Erreur lors du re-traitement: ${s?.message||s}`)}},children:"Re-traiter le dossier"})})})})]}),e.jsxs(l,{sx:{display:"flex",gap:3},children:[e.jsx(m,{sx:{flex:"0 0 320px",maxHeight:"70vh",overflow:"auto"},children:e.jsx(f,{sx:{p:0},children:e.jsx(I,{dense:!0,disablePadding:!0,children:r.map((s,n)=>e.jsx(he,{selected:n===x,onClick:()=>$(n),children:e.jsx(M,{title:s.document.fileName,placement:"right",children:e.jsx(ae,{primaryTypographyProps:{sx:{display:"block",maxWidth:260,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},primary:s.document.fileName,secondary:new Date(s.document.uploadTimestamp).toLocaleString()})})},s.fileHash))})})}),e.jsxs(l,{sx:{flex:"1 1 auto",minWidth:0},children:[e.jsx(m,{sx:{mb:3},children:e.jsxs(f,{children:[e.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:2,mb:2},children:[e.jsx(se,{color:"primary"}),e.jsx(d,{variant:"h6",children:a.document.fileName}),e.jsx(C,{label:a.document.mimeType,size:"small",variant:"outlined"}),e.jsx(C,{label:`${(a.document.fileSize/1024/1024).toFixed(2)} MB`,size:"small",variant:"outlined"})]}),e.jsxs(l,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:[e.jsx(C,{icon:e.jsx(me,{}),label:`Langue: ${a.classification.language}`,color:"info",variant:"outlined"}),e.jsx(C,{icon:e.jsx(je,{}),label:`Type: ${a.classification.documentType}`,color:"success",variant:"outlined"}),e.jsx(C,{icon:e.jsx(ie,{}),label:`Confiance: ${(a.metadata.quality.globalConfidence*100).toFixed(1)}%`,color:a.metadata.quality.globalConfidence>.8?"success":"warning",variant:"outlined"})]})]})}),e.jsx(m,{sx:{mb:3},children:e.jsxs(f,{children:[e.jsxs(d,{variant:"h6",gutterBottom:!0,children:[e.jsx(ge,{sx:{mr:1,verticalAlign:"middle"}}),"Texte extrait"]}),e.jsx(ee,{sx:{p:2,bgcolor:"grey.50",maxHeight:300,overflow:"auto"},children:e.jsx(d,{variant:"body2",sx:{whiteSpace:"pre-wrap"},children:a.extraction.text.raw})})]})}),e.jsxs(l,{sx:{display:"flex",gap:3,flexWrap:"wrap"},children:[a.extraction.entities.persons.length>0&&e.jsx(m,{sx:{flex:"1 1 300px"},children:e.jsxs(f,{children:[e.jsxs(d,{variant:"h6",gutterBottom:!0,children:[e.jsx(fe,{sx:{mr:1,verticalAlign:"middle"}}),"Personnes (",a.extraction.entities.persons.length,")"]}),e.jsx(I,{dense:!0,children:a.extraction.entities.persons.map((s,n)=>e.jsx(V,{disableGutters:!0,sx:{py:.5},children:e.jsxs(l,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(l,{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",defaultValue:s.firstName,onChange:i=>s.firstName=i.target.value}),e.jsx("input",{style:{padding:4,width:160},placeholder:"Nom",defaultValue:s.lastName,onChange:i=>s.lastName=i.target.value}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",defaultValue:s.description||"",onChange:i=>s.description=i.target.value})]}),e.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(h,{size:"small",variant:"outlined",disabled:u===`p-${n}`,onClick:async()=>{try{c(`p-${n}`),await k(o,a.fileHash,"person",{index:n,id:s.id,patch:{firstName:s.firstName,lastName:s.lastName,description:s.description||""}})}finally{c(null)}},children:"Enregistrer"}),e.jsx(h,{size:"small",color:"error",onClick:async()=>{await R(o,a.fileHash,"person",{index:n,id:s.id})},children:"Supprimer"})]})]})},`p-${n}`))})]})}),a.extraction.entities.addresses.length>0&&e.jsx(m,{sx:{flex:"1 1 300px"},children:e.jsxs(f,{children:[e.jsxs(d,{variant:"h6",gutterBottom:!0,children:[e.jsx(ne,{sx:{mr:1,verticalAlign:"middle"}}),"Adresses (",a.extraction.entities.addresses.length,")"]}),e.jsx(I,{dense:!0,children:a.extraction.entities.addresses.map((s,n)=>e.jsx(V,{disableGutters:!0,sx:{py:.5},children:e.jsxs(l,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(l,{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",defaultValue:s.street,onChange:i=>s.street=i.target.value}),e.jsx("input",{style:{padding:4,width:100},placeholder:"CP",defaultValue:s.postalCode,onChange:i=>s.postalCode=i.target.value}),e.jsx("input",{style:{padding:4,width:180},placeholder:"Ville",defaultValue:s.city,onChange:i=>s.city=i.target.value}),e.jsx("input",{style:{padding:4,width:140},placeholder:"Pays",defaultValue:s.country||"",onChange:i=>s.country=i.target.value}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",defaultValue:s.description||"",onChange:i=>s.description=i.target.value})]}),e.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(h,{size:"small",variant:"outlined",disabled:u===`a-${n}`,onClick:async()=>{try{c(`a-${n}`),await k(o,a.fileHash,"address",{index:n,id:s.id,patch:{street:s.street,city:s.city,postalCode:s.postalCode,country:s.country,description:s.description||""}})}finally{c(null)}},children:"Enregistrer"}),e.jsx(h,{size:"small",color:"error",onClick:async()=>{await R(o,a.fileHash,"address",{index:n,id:s.id})},children:"Supprimer"})]})]})},`a-${n}`))})]})}),a.extraction.entities.companies.length>0&&e.jsx(m,{sx:{flex:"1 1 300px"},children:e.jsxs(f,{children:[e.jsxs(d,{variant:"h6",gutterBottom:!0,children:[e.jsx(re,{sx:{mr:1,verticalAlign:"middle"}}),"Entreprises (",a.extraction.entities.companies.length,")"]}),e.jsx(I,{dense:!0,children:a.extraction.entities.companies.map((s,n)=>e.jsx(V,{disableGutters:!0,sx:{py:.5},children:e.jsxs(l,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,width:"100%",flexWrap:"wrap"},children:[e.jsxs(l,{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",defaultValue:s.name,onChange:i=>s.name=i.target.value}),e.jsx("input",{style:{padding:4,width:260},placeholder:"Description",defaultValue:s.description||"",onChange:i=>s.description=i.target.value})]}),e.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0,whiteSpace:"nowrap"},children:[e.jsx(h,{size:"small",variant:"outlined",disabled:u===`c-${n}`,onClick:async()=>{try{c(`c-${n}`),await k(o,a.fileHash,"company",{index:n,id:s.id,patch:{name:s.name,description:s.description||""}})}finally{c(null)}},children:"Enregistrer"}),e.jsx(h,{size:"small",color:"error",onClick:async()=>{await R(o,a.fileHash,"company",{index:n,id:s.id})},children:"Supprimer"})]})]})},`c-${n}`))})]})})]}),e.jsx(m,{sx:{mt:3},children:e.jsxs(f,{children:[e.jsx(d,{variant:"h6",gutterBottom:!0,children:"Métadonnées détaillées"}),e.jsxs(le,{children:[e.jsx(oe,{expandIcon:e.jsx(de,{}),children:e.jsx(d,{children:"Informations de traitement"})}),e.jsx(ce,{children:e.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsxs(d,{variant:"body2",children:[e.jsx("strong",{children:"Hash du fichier:"})," ",a.fileHash]}),e.jsxs(d,{variant:"body2",children:[e.jsx("strong",{children:"Timestamp:"})," ",new Date(a.status.timestamp).toLocaleString()]}),e.jsxs(d,{variant:"body2",children:[e.jsx("strong",{children:"Confiance globale:"})," ",(a.metadata.quality.globalConfidence*100).toFixed(1),"%"]})]})})]})]})})]})]})]})}export{Be as default};
|