PageSourceSearch

https://app.jifasafe.com/assets/AlertsPage-Cr_bBjhT.js

js jifasafe.com collected 2026-10-02 01:33:05 UTC 8,787 bytes, 6 lines download raw bytes

1import{u as A,a as d,j as r}from"./index-CmkljqHy.js";import{u as C,r as c}from"./vendor-react-CHy9jugc.js";import{ae as I,af as W,R as y,C as T,I as $,q as E,s as L,S as B,j as D,ac as q,T as M,ab as F}from"./vendor-icons-Ba-38k0_.js";import"./vendor-pdf-DyNmqlFv.js";import"./vendor-utils-G8em4uqY.js";const O=()=>{const m=C(),{user:H}=A(),[o,a]=c.useState([]),[l,f]=c.useState(!0),[n,j]=c.useState("all");c.useEffect(()=>{x()},[]);const x=async()=>{try{f(!0);const e=await d.get("/monitoring/alerts");a(e.data||[])}catch(e){console.error("Erreur chargement alertes:",e)}finally{f(!1)}},k=async e=>{try{await d.patch(`/monitoring/alerts/${e}/read`),a(t=>t.map(i=>i.id===e?{...i,isRead:!0}:i))}catch(t){console.error("Erreur marquage alerte:",t)}},w=async()=>{try{await d.post("/monitoring/alerts/mark-all-read"),a(e=>e.map(t=>({...t,isRead:!0})))}catch(e){console.error("Erreur marquage alertes:",e)}},R=async e=>{try{await d.delete(`/monitoring/alerts/${e}`),a(t=>t.filter(i=>i.id!==e))}catch(t){console.error("Erreur suppression alerte:",t)}},v=e=>{switch(e){case"critical":case"danger":return r.jsx(F,{size:24,color:"#dc2626"});case"warning":return r.jsx(M,{size:24,color:"#f59e0b"});case"info":default:return r.jsx(q,{size:24,color:"#3b82f6"})}},z=e=>{switch(e){case"critical":case"danger":return{bg:"#fef2f2",border:"#fecaca",text:"#dc2626"};case"warning":return{bg:"#fffbeb",border:"#fde68a",text:"#d97706"};case"info":default:return{bg:"#eff6ff",border:"#bfdbfe",text:"#2563eb"}}},S=e=>{const t=new Date(e),u=new Date().getTime()-t.getTime(),h=Math.floor(u/6e4),b=Math.floor(u/36e5),p=Math.floor(u/864e5);return h<60?`Il y a ${h} min`:b<24?`Il y a ${b}h`:p<7?`Il y a ${p} jour${p>1?"s":""}`:t.toLocaleDateString("fr-FR",{day:"numeric",month:"short",year:"numeric"})},g=o.filter(e=>n==="unread"?!e.isRead:n==="warning"?e.type==="warning"||e.type==="danger"||e.type==="critical":n==="info"?e.type==="info":!0),s=o.filter(e=>!e.isRead).length;return r.jsxs("div",{style:{minHeight:"100vh",background:"linear-gradient(135deg, #e0f7f6 0%, #f0f9ff 100%)",padding:"1.5rem"},children:[r.jsxs("div",{style:{maxWidth:"900px",margin:"0 auto"},children:[r.jsx("div",{style:{background:"linear-gradient(135deg, #128f8b 0%, #0d7a77 100%)",borderRadius:"1rem",padding:"1.5rem 2rem",marginBottom:"1.5rem",boxShadow:"0 4px 6px rgba(18, 143, 139, 0.2)"},children:r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:"1rem"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[r.jsx("button",{onClick:()=>m(-1),style:{background:"rgba(255,255,255,0.2)",border:"none",borderRadius:"0.5rem",padding:"0.5rem",cursor:"pointer",display:"flex",alignItems:"center"},children:r.jsx(I,{size:24,color:"white"})}),r.jsx(W,{size:32,color:"white"}),r.jsxs("div",{children:[r.jsx("h1",{style:{color:"white",fontSize:"1.5rem",fontWeight:"700",margin:0},children:"Centre d'alertes"}),r.jsx("p",{style:{color:"rgba(255,255,255,0.9)",margin:0,fontSize:"0.875rem"},children:s>0?`${s} alerte${s>1?"s":""} non lue${s>1?"s":""}`:"Toutes les alertes sont lues"})]})]}),r.jsxs("div",{style:{display:"flex",gap:"0.5rem"},children:[r.jsxs("button",{onClick:x,style:{padding:"0.5rem 1rem",background:"rgba(255,255,255,0.2)",border:"none",borderRadius:"0.5rem",color:"white",cursor:"pointer",display:"flex",alignItems:"center",gap:"0.5rem",fontSize:"0.875rem"},children:[r.jsx(y,{size:16}),"Actualiser"]}),s>0&&r.jsx("button",{onClick:w,style:{padding:"0.5rem 1rem",background:"white",border:"none",borderRadius:"0.5rem",color:"#128f8b",cursor:"pointer",fontWeight:"600",fontSize:"0.875rem"},children:"Tout marquer lu"})]})]})}),r.jsx("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"1rem",flexWrap:"wrap"},children:[{key:"all",label:"Toutes",count:o.length},{key:"unread",label:"Non lues",count:s},{key:"warning",label:"⚠️ Alertes",count:o.filter(e=>e.type!=="info").length},{key:"info",label:"ℹ️ Infos",count:o.filter(e=>e.type==="info").length}].map(e=>r.jsxs("button",{onClick:()=>
1j(e.key),style:{padding:"0.5rem 1rem",background:n===e.key?"#128f8b":"white",color:n===e.key?"white":"#6b7280",border:"none",borderRadius:"0.5rem",cursor:"pointer",fontWeight:"500",fontSize:"0.875rem",display:"flex",alignItems:"center",gap:"0.5rem",boxShadow:"0 1px 3px rgba(0,0,0,0.1)"},children:[e.label,r.jsx("span",{style:{background:n===e.key?"rgba(255,255,255,0.3)":"#e5e7eb",padding:"0.125rem 0.5rem",borderRadius:"9999px",fontSize:"0.75rem"},children:e.count})]},e.key))}),l&&r.jsxs("div",{style:{textAlign:"center",padding:"3rem"},children:[r.jsx(y,{size:40,color:"#128f8b",style:{animation:"spin 1s linear infinite"}}),r.jsx("p",{style:{color:"#6b7280",marginTop:"1rem"},children:"Chargement des alertes..."})]}),!l&&g.length===0&&r.jsxs("div",{style:{background:"white",borderRadius:"1rem",padding:"3rem",textAlign:"center",boxShadow:"0 2px 4px rgba(0,0,0,0.05)"},children:[r.jsx(T,{size:64,color:"#22c55e",style:{marginBottom:"1rem"}}),r.jsx("h3",{style:{color:"#1f2937",marginBottom:"0.5rem"},children:n==="all"?"Aucune alerte":"Aucune alerte dans cette catégorie"}),r.jsx("p",{style:{color:"#6b7280"},children:n==="all"?"Lancez un scan de sécurité pour détecter les menaces potentielles.":"Essayez un autre filtre ou lancez un nouveau scan."}),r.jsx("button",{onClick:()=>m("/monitoring"),style:{marginTop:"1.5rem",padding:"0.75rem 1.5rem",background:"#128f8b",color:"white",border:"none",borderRadius:"0.5rem",cursor:"pointer",fontWeight:"600"},children:"Lancer un scan"})]}),!l&&g.length>0&&r.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:g.map(e=>{const t=z(e.type);return r.jsx("div",{style:{background:"white",borderRadius:"0.75rem",padding:"1rem 1.25rem",boxShadow:"0 2px 4px rgba(0,0,0,0.05)",border:`2px solid ${e.isRead?"#e5e7eb":t.border}`,opacity:e.isRead?.7:1,transition:"all 0.2s"},children:r.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"1rem"},children:[r.jsx("div",{style:{padding:"0.5rem",borderRadius:"0.5rem",background:t.bg,flexShrink:0},children:v(e.type)}),r.jsxs("div",{style:{flex:1,minWidth:0},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginBottom:"0.25rem"},children:[r.jsx("h4",{style:{margin:0,color:"#1f2937",fontWeight:"600",fontSize:"0.95rem"},children:e.title}),!e.isRead&&r.jsx("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:t.text,flexShrink:0}})]}),r.jsx("p",{style:{margin:0,color:"#6b7280",fontSize:"0.875rem",lineHeight:"1.4"},children:e.description}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1rem",marginTop:"0.75rem",fontSize:"0.75rem",color:"#9ca3af"},children:[r.jsxs("span",{style:{display:"flex",alignItems:"center",gap:"0.25rem"},children:[r.jsx($,{size:12}),S(e.createdAt)]}),r.jsx("span",{style:{padding:"0.125rem 0.5rem",background:t.bg,color:t.text,borderRadius:"0.25rem",fontWeight:"500"},children:e.source==="breach"?"Fuite détectée":e.source==="darkweb"?"Dark Web":e.source==="system"?"Système":e.source})]})]}),r.jsxs("div",{style:{display:"flex",gap:"0.5rem",flexShrink:0},children:[!e.isRead&&r.jsx("button",{onClick:()=>k(e.id),title:"Marquer comme lu",style:{padding:"0.5rem",background:"#f3f4f6",border:"none",borderRadius:"0.5rem",cursor:"pointer",display:"flex",alignItems:"center"},children:r.jsx(E,{size:16,color:"#6b7280"})}),r.jsx("button",{onClick:()=>R(e.id),title:"Supprimer",style:{padding:"0.5rem",background:"#fef2f2",border:"none",borderRadius:"0.5rem",cursor:"pointer",display:"flex",alignItems:"center"},children:r.jsx(L,{size:16,color:"#dc2626"})})]})]})},e.id)})}),!l&&r.jsxs("div",{style:{marginTop:"2rem",background:"white",borderRadius:"0.75rem",padding:"1.25rem",boxShadow:"0 2px 4px rgba(0,0,0,0.05)",display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:"1rem"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[r.jsx(B,{size:24,color:"#128f8b"}),r.jsxs("div",{children:[r.jsx("p",{style:{margin:0,fontWeight:"600",color:"#1f2937"},children:"Protégez-vous davantage"}),r.jsx("p",{style:{margin:0,fontSize:"0.875rem",color:"#6b7280"},children:"Lancez un scan complet pour détecter les nouvelles menaces"})]})]}),r.jsxs("button",{onClick:()=>m("/monitoring"),style:{padding:"0.75rem 1.5rem",background:"linear-gradient(135deg, #128f8b 0%, #0d7a77 100%)",color:"white",border:"none",borderRadius:"0.5rem",cursor:"pointer",fontWeight:"600",display:"flex",alignItems:"center",gap:"0.5rem"},children:["Lancer un scan",r.jsx(D,{size:18})]})]})]}),r.jsx("style",{children:`
2        @keyframes spin {
3          from { transform: rotate(0deg); }
4          to { transform: rotate(360deg); }
5        }
6      `})]})};export{O 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.