PageSourceSearch

https://blacksheepbi.com/assets/NotFound-D1SO3cnY.js

js blacksheepbi.com collected 2026-09-30 08:27:21 UTC 2,581 bytes, 1 lines download raw bytes

1import{r as n,j as e}from"./ui-CPW3-RCR.js";import{u,g as h,aS as g,aT as f,e as b,v as c,aU as y,aV as v,aW as j}from"./index-BraPXa8T.js";import{c as N,u as k}from"./vendor-CIXof4MH.js";import{C as L}from"./compass-Czk_0Tq-.js";import{A as w}from"./arrow-right-BLLC8LlL.js";import"./supabase-B2z4OhLQ.js";import"./charts-DCB9_QAo.js";const D=()=>{const s=N(),o=k(),{clearanceLevel:r}=u(),{t:a,language:i,dir:l}=h(),{isDarkBg:m}=g(),p=r>=5?"/dashboard":"/",d=n.useMemo(()=>[{path:"/dashboard",label:a("recovery.dashboard"),icon:f},{path:"/tasks",label:a("nav.tasks"),icon:b},{path:"/campaigns",label:a("nav.campaigns"),icon:L}],[a]);return n.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",s.pathname)},[s.pathname]),e.jsx("div",{className:"flex min-h-[70vh] items-center justify-center",dir:l,children:e.jsxs(c.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},className:"mx-auto max-w-md px-6 text-center",children:[e.jsxs(c.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{type:"spring",stiffness:200,delay:.1},className:"flex flex-col items-center gap-4 mb-4",children:[e.jsx("img",{src:m?y:v,alt:"Blacksheep BI",className:"h-10 w-auto opacity-80"}),e.jsx("span",{className:"select-none bg-gradient-to-br from-primary via-accent to-primary bg-clip-text text-[100px] font-black leading-none text-transparent",children:"404"})]}),e.jsx("h1",{className:"mb-2 mt-2 text-xl font-bold text-foreground",children:a("notFound.title")}),e.jsx("p",{className:"mb-3 text-sm text-muted-foreground",children:a("notFound.description")}),e.jsx("p",{className:"mb-8 text-sm text-muted-foreground",children:e.jsx("code",{className:"rounded bg-secondary px-2 py-0.5 text-xs font-mono",children:s.pathname})}),e.jsx("div",{className:"mb-6 flex flex-col gap-2",children:d.map(t=>{const x=t.icon;return e.jsxs("button",{type:"button",onClick:()=>o(t.path),className:"group flex w-full items-center gap-3 rounded-lg bg-secondary/50 px-4 py-3 text-sm text-foreground transition-colors hover:bg-secondary",children:[e.jsx(x,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-primary"}),e.jsx("span",{children:t.label}),e.jsx(w,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform ${i==="he"?"mr-auto group-hover:-translate-x-1":"ml-auto group-hover:translate-x-1"}`})]},t.path)})}),e.jsx("div",{className:"flex justify-center",children:e.jsx(j,{onBack:()=>o(-1),onHome:()=>o(p),homeLabel:r>=5?a("recovery.dashboard"):a("recovery.home")})})]})})};export{D 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.