1import{u as at,t as o,r as n,b as c,j as t,d as A,f as z,g as V,w as _,e as C,B as p,L as H,C as et,m as nt,T as ot,c as ct}from"./index-T5nyJFFV.js";import{D as rt}from"./DashboardLayout-BHRLr7Kp.js";import{B as l}from"./badge-C5TQyfYT.js";import{I as Q}from"./input-CrjApyCF.js";import{L as M}from"./label-rcduFh5D.js";import{g as lt,H as dt}from"./navigation-C3hjpKHv.js";import{a as G}from"./dateUtils-DAIac9UL.js";import{T as J,a as O,b as D,c as a,d as X,e}from"./table-CyN-ZWq6.js";import{S as mt,a as xt,b as pt,c as ft,d as $}from"./select-B85uJR_b.js";import{S as ut}from"./settings-2-BLNMz0JI.js";import{S as U}from"./save-D_k51xYu.js";import{B as gt}from"./bell-B_TAaLcL.js";import{C as Nt}from"./chevron-left-cw3ou3fn.js";import{C as yt}from"./chevron-right-ao0_Il05.js";import{S as ht}from"./shield-check-u_N0-KDb.js";import{R as jt}from"./rotate-ccw-DIyrKMfm.js";import"./dialog-DeV6_amp.js";import"./download-mMdEW2BS.js";import"./play-BhkvceeI.js";import"./target-BuW5LVfX.js";import"./settings-PedzcGJT.js";import"./message-square-Bf1tv8Ok.js";import"./message-circle-VNr0KhCa.js";import"./users-Bfhr95HF.js";import"./search-CgSZHfWF.js";import"./upload-TVKBjj-1.js";import"./file-spreadsheet-C6t7NEb0.js";import"./circle-check-big-Be611mD_.js";import"./calendar-Sy4Jw0Y9.js";import"./shield-BZtALKZ6.js";import"./log-out-Byk8euDy.js";import"./party-popper-CvouvDOm.js";import"./calendar-clock-CU7ivC6_.js";import"./building-2-DHXObSyr.js";import"./useComposition-C00Y3JuO.js";import"./check-DwNLX-GA.js";import"./file-text-DRXKjAQT.js";import"./index-BSY0BWl0.js";const E=20;function oi(){const{user:v}=at(),m=lt(v?.role),f=o.useUtils(),[r,s]=n.useState(0),[w,Z]=n.useState("all"),[u,T]=n.useState(!1),[g,k]=n.useState(30),P=n.useRef(!1),[N,I]=n.useState(!1),[y,R]=n.useState(90),L=n.useRef(!1),{data:F,isLoading:K}=o.notificationHistory.list.useQuery({limit:E,offset:r*E,notificationType:w==="all"?void 0:w}),{data:x}=o.prestationAlertSettings.getAlertDays.useQuery(),{data:d}=o.prestationAlertSettings.getMinDuration.useQuery();n.useEffect(()=>{x&&!u&&!P.current&&(k(x.alertDays),P.current=!0)},[x,u]),n.useEffect(()=>{d&&!N&&!L.current&&(R(d.minDurationDays),L.current=!0)},[d,N]);const b=o.prestationAlertSettings.setAlertDays.useMutation({onSuccess:i=>{c.success(`Délai d'alerte mis à jour : ${i.alertDays} jours`),f.prestationAlertSettings.getAlertDays.invalidate(),T(!1)},onError:i=>{c.error(i.message||"Erreur lors de la mise à jour")}}),S=o.prestationAlertSettings.setMinDuration.useMutation({onSuccess:i=>{c.success(`Durée minimale mise à jour : ${i.minDurationDays} jours`),f.prestationAlertSettings.getMinDuration.invalidate(),I(!1)},onError:i=>{c.error(i.message||"Erreur lors de la mise à jour")}}),B=F?.items||[],h=F?.total||0,j=Math.ceil(h/E);function W(i){return G(i,{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}function Y(i){switch(i){case"approaching_end":return t.jsxs(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:119",variant:"outline",className:"bg-amber-50 text-amber-700 border-amber-200 dark:bg-amber-900/20 dark:text-amber-300 dark:border-amber-800",children:[t.jsx(ct,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:120",className:"h-3 w-3 mr-1"})," Fin imminente"]});case"switched_to_sortie":return t.jsxs(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:123",variant:"outline",className:"bg-red-50 text-red-700 border-red-200 dark:bg-red-900/20 dark:text-red-300 dark:border-red-800",children:[t.jsx(ot,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:124",className:"h-3 w-3 mr-1"})," Sortie"]});default:return t.jsx(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:127",variant:"outline",children:i||"â"})}}function tt(i){if(!i)return{};try{return JSON.parse(i)}catch{return{}}}function it(){if(g<1||g>90){c.error("Le délai doit être entre 1 et 90 jours");return}b.mutate({alertDays:g})}function st(){if(y<0||y>365){c.error("La durée doit être entre 0 et 365 jours");return}S.mutate({minDurationDays:y})}return t.jsx(rt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:157",navItems:m,children:t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:158",className:"space-y-6",children:[t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:160",children:[t.jsxs("h1",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:161",className:"text-2xl font-bold tracking-tight flex items-center gap-2",children:[t.jsx(dt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:162",className:"h-6 w-6"}),"Historique des notifications"]}),t.jsx("p",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:165",className:"text-muted-foreground mt-1",children:"Suivi de toutes les n
1otifications envoyées par l'application (fins de prestation, basculements en sortie)."})]}),t.jsxs(A,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:171",children:[t.jsxs(z,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:172",children:[t.jsxs(V,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:173",className:"flex items-center gap-2 text-lg",children:[t.jsx(ut,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:174",className:"h-5 w-5"}),"Paramètres d'alerte"]}),t.jsx(_,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:177",children:"Configurez le délai d'alerte et la durée minimale de mission. Le cron job quotidien (8h30) enverra une notification pour les missions de plus de la durée minimale configurée dont la date de fin est dans le délai d'alerte."})]}),t.jsxs(C,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:182",className:"space-y-4",children:[t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:183",className:"flex flex-col items-start gap-2 sm:flex-row sm:items-center sm:gap-4",children:[t.jsx(M,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:184",htmlFor:"alertDays",className:"font-medium sm:whitespace-nowrap sm:min-w-[160px]",children:"Délai d'alerte :"}),t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:187",className:"flex flex-wrap items-center gap-2",children:[t.jsx(Q,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:188",id:"alertDays",type:"number",min:1,max:90,value:g,onChange:i=>{k(parseInt(i.target.value,10)||30),T(!0)},className:"w-20 h-9"}),t.jsx("span",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:200",className:"min-w-0 text-sm text-muted-foreground",children:"jours avant la fin de prestation"}),u&&t.jsxs(p,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:202",size:"sm",onClick:it,disabled:b.isPending,className:"gap-1",children:[b.isPending?t.jsx(H,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:209",className:"h-3 w-3 animate-spin"}):t.jsx(U,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:211",className:"h-3 w-3"}),"Enregistrer"]}),!u&&x&&t.jsxs(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:217",variant:"secondary",className:"text-xs",children:["Actuel : ",x.alertDays," jours"]})]})]}),t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:223",className:"flex flex-col items-start gap-2 sm:flex-row sm:items-center sm:gap-4",children:[t.jsx(M,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:224",htmlFor:"minDuration",className:"font-medium sm:whitespace-nowrap sm:min-w-[160px]",children:"Durée minimale :"}),t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:227",className:"flex flex-wrap items-center gap-2",children:[t.jsx(Q,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:228",id:"minDuration",type:"number",min:0,max:365,value:y,onChange:i=>{R(parseInt(i.target.value,10)||0),I(!0)},className:"w-20 h-9"}),t.jsx("span",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:240",className:"min-w-0 text-sm text-muted-foreground",children:"jours de mission minimum pour déclencher l'alerte (0 = pas de filtre)"}),N&&t.jsxs(p,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:242",size:"sm",onClick:st,disabled:S.isPending,className:"gap-1",children:[S.isPending?t.jsx(H,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:249",className:"h-3 w-3 animate-spin"}):t.jsx(U,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:251",className:"h-3 w-3"}),"Enregistrer"]}),!N&&d&&t.jsxs(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:257",variant:"secondary",className:"text-xs",children:["Actuel : ",d.minDurationDays," jours (",Math.round(d.minDurationDays/30)," mois)"]})]})]})]})]}),t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:267",className:"flex flex-col items-start gap-2 sm:flex-row sm:items-center sm:justify-between",children:[t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:268",className:"flex w-full flex-col items-start gap-2 sm:w-auto
1sm:flex-row sm:items-center sm:gap-3",children:[t.jsx(M,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:269",className:"text-sm font-medium",children:"Filtrer par type :"}),t.jsxs(mt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:270",value:w,onValueChange:i=>{Z(i),s(0)},children:[t.jsx(xt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:271",className:"h-9 w-full sm:w-48",children:t.jsx(pt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:272"})}),t.jsxs(ft,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:274",children:[t.jsx($,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:275",value:"all",children:"Tous les types"}),t.jsx($,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:276",value:"prestation_end",children:"Fin de prestation"})]})]})]}),t.jsxs(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:280",variant:"outline",className:"text-sm",children:[h," notification",h>1?"s":""," au total"]})]}),t.jsx(A,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:286",children:t.jsx(C,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:287",className:"pt-6",children:K?t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:289",className:"flex items-center justify-center py-12",children:[t.jsx(H,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:290",className:"h-6 w-6 animate-spin text-muted-foreground"}),t.jsx("span",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:291",className:"ml-2 text-muted-foreground",children:"Chargement..."})]}):B.length===0?t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:294",className:"text-center py-12 text-muted-foreground",children:[t.jsx(gt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:295",className:"h-12 w-12 mx-auto mb-3 opacity-30"}),t.jsx("p",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:296",children:"Aucune notification envoyée pour le moment."})]}):t.jsxs(t.Fragment,{children:[t.jsxs(J,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:300",children:[t.jsx(O,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:301",children:t.jsxs(D,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:302",children:[t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:303",children:"Date"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:304",children:"Consultant"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:305",children:"Entité"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:306",children:"Raison"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:307",children:"Destinataire"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:308",children:"Date de fin"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:309",className:"text-center",children:"Statut"})]})}),t.jsx(X,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:312",children:B.map(i=>{const q=tt(i.details);return t.jsxs(D,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:316",children:[t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:317",className:"text-sm whitespace-nowrap",children:W(i.sentAt)}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:320",className:"font-medium",children:i.consultantName||"â"}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:323",className:"text-sm",children:q.entite||"â"}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:326",children:Y(i.reason)}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:329",children:t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:330",className:"text-sm",children:[t.jsx("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:331",className:"font-mono",children:i.recipientEmail}),i.recipientName&&t.jsx("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:333",className:"text-xs text-muted-foreground",children:i.recipientName})]})}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:337",className:"text-sm",children:q.dateFin||"â"}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:340",className:"text-center",children:i.success?t.jsx(et,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:342",className:"h-5 w-5 text-green-500 mx-auto"}):t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:344",className:"flex flex-col items-center gap-1",children:[t.jsx(nt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:345",className:"h-5 w-5 text-red-500"}),i.errorMessage&&t.jsx("span",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:347",className:"text-xs text-red-500 max-w-32 truncate",title:i.errorMessage,children:i.errorMessage})]})})]},i.id)})})]}),j>1&&t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:362",className:"mt-4 flex flex-col gap-2 border-t pt-4 sm:flex-row sm:items-center sm:justify-between",children:[t.jsxs("p",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:363",className:"text-sm text-muted-foreground",children:["Page ",r+1," sur ",j," (",h," résultats)"]}),t.jsxs("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:366",className:"flex items-center gap-2 self
1-end sm:self-auto",children:[t.jsxs(p,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:367",variant:"outline",size:"sm",onClick:()=>s(i=>Math.max(0,i-1)),disabled:r===0,children:[t.jsx(Nt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:373",className:"h-4 w-4"}),"Précédent"]}),t.jsxs(p,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:376",variant:"outline",size:"sm",onClick:()=>s(i=>Math.min(j-1,i+1)),disabled:r>=j-1,children:["Suivant",t.jsx(yt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:383",className:"h-4 w-4"})]})]})]})]})})}),t.jsxs(A,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:393",children:[t.jsxs(z,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:394",children:[t.jsxs(V,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:395",className:"flex items-center gap-2",children:[t.jsx(ht,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:396",className:"h-5 w-5 text-green-600"}),"Alertes fin de prestation â Pris en compte"]}),t.jsx(_,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:399",children:"Prestations dont l'alerte a été marquée comme traitée. Si la date de fin est repoussée, l'alerte sera automatiquement réactivée."})]}),t.jsx(C,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:403",children:t.jsx(Ht,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:404"})})]})]})})}function Ht(){const v=o.useUtils(),{data:m,isLoading:f}=o.prestationAlertSettings.getAllDismissed.useQuery(),r=o.prestationAlertSettings.reactivate.useMutation({onSuccess:()=>{v.prestationAlertSettings.getAllDismissed.invalidate(),c.success("Alerte réactivée â le consultant sera de nouveau notifié")},onError:()=>c.error("Erreur lors de la réactivation")});return f?t.jsx("div",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:425",className:"flex items-center justify-center py-8",children:t.jsx(H,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:426",className:"h-5 w-5 animate-spin text-muted-foreground"})}):!m||m.length===0?t.jsx("p",{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:433",className:"text-sm text-muted-foreground py-4 text-center",children:"Aucune alerte marquée comme traitée."}):t.jsxs(J,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:440",children:[t.jsx(O,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:441",children:t.jsxs(D,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:442",children:[t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:443",children:"Consultant"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:444",children:"Date de fin"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:445",children:"Marqué par"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:446",children:"Date du marquage"}),t.jsx(a,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:447",className:"text-right",children:"Action"})]})}),t.jsx(X,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:450",children:m.map(s=>t.jsxs(D,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:452",children:[t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:453",className:"font-medium",children:s.consultantNom||`ID ${s.consultantId}`}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:454",children:t.jsx(l,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:455",variant:"outline",className:"text-orange-700 border-orange-300",children:s.endDateAtDismiss})}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:459",className:"text-sm text-muted-foreground",children:s.dismissedBy}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:460",className:"text-sm text-muted-foreground",children:s.dismissedAt?G(s.dismissedAt):"â"}),t.jsx(e,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:463",className:"text-right",children:t.jsxs(p,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:464",variant:"outline",size:"sm",onClick:()=>r.mutate({id:s.id}),disabled:r.isPending,children:[t.jsx(jt,{"data-loc":"client/src/pages/admin/NotificationHistory.tsx:470",className:"h-3.5 w-3.5 mr-1"}),"Réactiver"]})})]},s.id))})]})}export{oi 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.