PageSourceSearch

https://nwb-webapp-bedrijfsportaal.lovable.app/assets/StatusPage-BifJM_tD.js

js nwb-webapp-bedrijfsportaal.lovable.app collected 2026-10-03 03:34:44 UTC 3,346 bytes, 1 lines download raw bytes

1import{r,j as e,C as n,b as o,T as d,q as h,v as f,s as x}from"./index-BWYXbCDk.js";import{C as l}from"./circle-check-DuWgpWTO.js";import{C as N}from"./circle-x-C3cp_uUG.js";import{W as b}from"./wrench-ckOvx86t.js";import{o as u,n as g}from"./nl-D5z8NZOa.js";const v={operational:l,degraded:d,partial_outage:d,major_outage:N,maintenance:b},y={operational:"text-success-strong",degraded:"text-yellow-500",partial_outage:"text-orange-500",major_outage:"text-red-500",maintenance:"text-blue-500"},S={operational:"Operationeel",degraded:"Verminderd",partial_outage:"Gedeeltelijke storing",major_outage:"Grote storing",maintenance:"Onderhoud"};function A(){const[c,p]=r.useState([]),[i,j]=r.useState([]);r.useEffect(()=>{(async()=>{const[{data:a},{data:t}]=await Promise.all([x.from("service_status").select("*").order("service_name"),x.from("service_incidents").select("*").eq("status","investigating").order("created_at",{ascending:!1}).limit(10)]);a&&p(a),t&&j(t)})()},[]);const m=c.every(s=>s.status==="operational");return e.jsx("div",{className:"min-h-screen bg-background",children:e.jsxs("div",{className:"mx-auto max-w-2xl px-4 py-12",children:[e.jsxs("div",{className:"mb-8 text-center",children:[e.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Service Status"}),e.jsx("p",{className:"text-muted-foreground mt-1",children:"Realtime status van Nextwave Broadcast diensten"})]}),e.jsx(n,{className:`mb-8 ${m?"border-success/40 bg-success-soft":"border-orange-500/30 bg-
1orange-500/5"}`,children:e.jsx(o,{className:"flex items-center gap-3 p-6",children:m?e.jsxs(e.Fragment,{children:[e.jsx(l,{className:"h-8 w-8 text-success-strong"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-lg font-semibold text-foreground",children:"Alle systemen operationeel"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Geen actieve incidenten"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(d,{className:"h-8 w-8 text-orange-500"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-lg font-semibold text-foreground",children:"Sommige systemen ondervinden problemen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Zie details hieronder"})]})]})})}),e.jsx("div",{className:"space-y-3 mb-8",children:c.map(s=>{const a=v[s.status]||l,t=y[s.status]||"text-muted-foreground";return e.jsx(n,{children:e.jsxs(o,{className:"flex items-center justify-between p-4",children:[e.jsx("span",{className:"font-medium text-foreground",children:s.service_name}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`text-sm ${t}`,children:S[s.status]||s.status}),e.jsx(a,{className:`h-5 w-5 ${t}`})]})]})},s.id)})}),i.length>0&&e.jsxs(n,{children:[e.jsx(h,{children:e.jsx(f,{children:"Actieve Incidenten"})}),e.jsx(o,{className:"space-y-4",children:i.map(s=>e.jsxs("div",{className:"border-l-4 border-orange-500 pl-4",children:[e.jsx("p",{className:"font-medium",children:s.title}),s.description&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:u(new Date(s.created_at),"d MMMM yyyy HH:mm",{locale:g})})]},s.id))})]}),e.jsxs("p",{className:"mt-8 text-center text-xs text-muted-foreground",children:["Laatst bijgewerkt: ",u(new Date,"d MMMM yyyy HH:mm",{locale:g})]})]})})}export{A 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.