1import{a as n,j as e}from"./vendor-query-CRhh6spR.js";import{c as S,ac as re,g as o,S as z,q as E,bQ as x,ad as se,ae as ie,af as ne,B as k,aR as oe,I as de,bR as le,r as ce,v as me,u as ue,d as pe}from"./index-BkVb42KZ.js";import{u as be}from"./use-mobile-D6_-OGiT.js";import{S as fe,C as he}from"./separator-IEWCjTWT.js";import{S as B}from"./skeleton-CRf0VGJi.js";import{G as P}from"./gauge-Cdbj1eBD.js";import{U as T}from"./users-CLblnKO6.js";import{I as xe}from"./inbox-CHGTWrMV.js";import{B as D}from"./briefcase-D-vMkZXu.js";import{H as ge}from"./house-0Xv-8BDy.js";import{F as ve}from"./flask-conical-RfZJi1zC.js";import{B as we}from"./badge-check-D-SXYjOB.js";import{M as je}from"./megaphone-CYm1f7Md.js";import{M as ye}from"./message-square-BwPXUwfW.js";import{S as Ne}from"./send-5x2Iukow.js";import{R as I}from"./radio-saDtXqoJ.js";import{M as Se}from"./mail-DS62qYck.js";import{M as ke}from"./map-pin-BnyER353.js";import{C as Me}from"./chart-column-UiAhC4rs.js";import{C as L}from"./coffee-Ci0O5SGe.js";import{A as Re}from"./activity-5c8vuK-9.js";import{S as Ce}from"./shield-alert-DxK97mGJ.js";import{B as Ae}from"./bell-CGtP-THa.js";import{U as _e}from"./user-x-DR9ABI6G.js";import{b as C,L as N,i as O,O as Be}from"./vendor-react-BAmwgVqg.js";import{K as Ie}from"./KnucklLogo-Cu1rMULr.js";import{N as Le}from"./NotificationBell-DlTpH3S4.js";import{E as Oe}from"./ellipsis-CGlO6Obv.js";import{C as ze}from"./chevron-right-DSioQ7mT.js";import{A as Ee}from"./arrow-left-B9mh4lKG.js";import{L as Pe}from"./log-out-Cd715PSc.js";import"./vendor-charts-BVeOEGzI.js";import"./vendor-stripe-2y4Jo9_W.js";import"./vendor-supabase-Csx7YFID.js";import"./CountBadge-ViI37gT6.js";import"./vendor-motion-BcLIBd36.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Te=S("FlaskRound",[["path",{d:"M10 2v7.31",key:"5d1hyh"}],["path",{d:"M14 9.3V1.99",key:"14k4l0"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14 9.3a6.5 6.5 0 1 1-4 0",key:"1r8fvy"}],["path",{d:"M5.52 16h12.96",key:"46hh1i"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const De=S("HeartHandshake",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66",key:"4oyue0"}],["path",{d:"m18 15-2-2",key:"60u0ii"}],["path",{d:"m15 18-2-2",key:"6p76be"}]]);/** 12 * @license lucide-react v0.462.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const He=S("MailWarning",[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M20 14v4",key:"1hm744"}],["path",{d:"M20 22v.01",key:"12bgn6"}]]);/** 17 * @license lucide-react v0.462.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */const Ge=S("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Ue="sidebar:state",We=60*60*24*7,Ke="16rem",Fe="18rem",Ve="3rem",$e="b",H=n.createContext(null);function w(){const a=n.useContext(H);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}const G=n.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:r,className:i,style:s,children:d,...p},c)=>{const l=be(),[m,u]=n.useState(!1),[g,v]=n.useState(a),f=t??g,j=n.useCallback(b=>{const h=typeof b=="function"?b(f):b;r?r(h):v(h),document.cookie=`${Ue}=${h}; path=/; max-age=${We}`},[r,f]),y=n.useCallback(()=>l?u(b=>!b):j(b=>!b),[l,j,u]);n.useEffect(()=>{const b=h=>{h.key===$e&&(h.metaKey||h.ctrlKey)&&(h.preventDefault(),y())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[y]);const _=f?"expanded":"collapsed",te=n.useMemo(()=>({state:_,open:f,setOpen:j,isMobile:l,openMobile:m,setOpenMobile:u,toggleSidebar:y}),[_,f,j,l,m,u,y]);return e.jsx(H.Provider,{value:te,children:e.jsx(re,{delayDuration:0,
21children:e.jsx("div",{style:{"--sidebar-width":Ke,"--sidebar-width-icon":Ve,...s},className:o("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",i),ref:c,...p,children:d})})})});G.displayName="SidebarProvider";const U=n.forwardRef(({side:a="left",variant:t="sidebar",collapsible:r="offcanvas",className:i,children:s,...d},p)=>{const{isMobile:c,state:l,openMobile:m,setOpenMobile:u}=w();return r==="none"?e.jsx("div",{className:o("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",i),ref:p,...d,children:s}):c?e.jsx(z,{open:m,onOpenChange:u,...d,children:e.jsx(E,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Fe},side:a,children:e.jsx("div",{className:"flex h-full w-full flex-col",children:s})})}):e.jsxs("div",{ref:p,className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":a,children:[e.jsx("div",{className:o("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),e.jsx("div",{className:o("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",a==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...d,children:e.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:s})})]})});U.displayName="Sidebar";const W=n.forwardRef(({className:a,onClick:t,...r},i)=>{const{toggleSidebar:s}=w();return e.jsxs(k,{ref:i,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:o("h-7 w-7",a),onClick:d=>{t==null||t(d),s()},...r,children:[e.jsx(Ge,{}),e.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});W.displayName="SidebarTrigger";const qe=n.forwardRef(({className:a,...t},r)=>{const{toggleSidebar:i}=w();return e.jsx("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:i,title:"Toggle Sidebar",className:o("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 hover:after:bg-sidebar-border sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})});qe.displayName="SidebarRail";const Je=n.forwardRef(({className:a,...t},r)=>e.jsx("main",{ref:r,className:o("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",a),...t}));Je.displayName="SidebarInset";const Ye=n.forwardRef(({className:a,...t},r)=>e.jsx(de,{ref:r,"data-sidebar":"input",className:o("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",a),...t}));Ye.displayName="SidebarInput";const Qe=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"header",className:o("flex flex-col gap-2 p-2",a),...t}));Qe.displayName="SidebarHeader";const Xe=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"footer",className:o("flex flex-col gap-2 p-2",a),...t}));Xe.displayName="SidebarFooter";const Ze=n.forwardRef(({className:a,...t},r)=>e.jsx(fe,{ref:r,"data-sidebar":"separator",className:o("mx-2 w-auto bg-sidebar-border",a),...t}));Ze.displayName="SidebarSeparator";const K=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"content",className:o("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...t}));K.displayName="SidebarContent";const F=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"group",className:o("relative flex w-full min-w-0 flex-col p-2",a),...t}));F.displayName="SidebarGroup";const V=n.forwardRef(({className:a,asChild:t=!1,...r},i)=>{const s=t?x:"div";return e.jsx(s,{ref:i,"data-sidebar":"group-label",className:o("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground
21/70 outline-none ring-sidebar-ring transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...r})});V.displayName="SidebarGroupLabel";const ea=n.forwardRef(({className:a,asChild:t=!1,...r},i)=>{const s=t?x:"button";return e.jsx(s,{ref:i,"data-sidebar":"group-action",className:o("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",a),...r})});ea.displayName="SidebarGroupAction";const $=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"group-content",className:o("w-full text-sm",a),...t}));$.displayName="SidebarGroupContent";const q=n.forwardRef(({className:a,...t},r)=>e.jsx("ul",{ref:r,"data-sidebar":"menu",className:o("flex w-full min-w-0 flex-col gap-1",a),...t}));q.displayName="SidebarMenu";const J=n.forwardRef(({className:a,...t},r)=>e.jsx("li",{ref:r,"data-sidebar":"menu-item",className:o("group/menu-item relative",a),...t}));J.displayName="SidebarMenuItem";const aa=oe("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Y=n.forwardRef(({asChild:a=!1,isActive:t=!1,variant:r="default",size:i="default",tooltip:s,className:d,...p},c)=>{const l=a?x:"button",{isMobile:m,state:u}=w(),g=e.jsx(l,{ref:c,"data-sidebar":"menu-button","data-size":i,"data-active":t,className:o(aa({variant:r,size:i}),d),...p});return s?(typeof s=="string"&&(s={children:s}),e.jsxs(se,{children:[e.jsx(ie,{asChild:!0,children:g}),e.jsx(ne,{side:"right",align:"center",hidden:u!=="collapsed"||m,...s})]})):g});Y.displayName="SidebarMenuButton";const ta=n.forwardRef(({className:a,asChild:t=!1,showOnHover:r=!1,...i},s)=>{const d=t?x:"button";return e.jsx(d,{ref:s,"data-sidebar":"menu-action",className:o("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",a),...i})});ta.displayName="SidebarMenuAction";const ra=n.forwardRef(({className:a,...t},r)=>e.jsx("div",{ref:r,"data-sidebar":"menu-badge",className:o("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t}));ra.displayName="SidebarMenuBadge";const sa=n.forwardRef(({className:a,showIcon:t=!1,...r},i)=>{const s=n.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return e.jsxs("div",{ref:i,"data-sidebar":"menu-skeleton",className:o("flex h-8 items-center gap-2 rounded-md px-2",a),...r,children:[t&&e.jsx(B,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e.jsx(B,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});sa.displayName="SidebarMenuSkeleton";const ia=n.forwardRef(({className:a,...t},r)=>e.jsx("ul",{ref:r,"data-sidebar":"menu-sub",className:o("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t}));ia.displayName="SidebarMenuSub";const na=n.forwardRef(({...a},t)=>e.jsx("li",{ref:t,...a}));na.displayName="SidebarMenuSubItem";const oa=n.forwardRef(({asChild:a=!1,size:t="md",isActive:r,className:i,...s},d)=>{const p=a?x:"a";return e.jsx(p,{ref:d,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:o("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",i),...s})});oa.displayName="SidebarMenuSubButton";const A=[{label:"Home",items:[{title:"Operations",url:"/admin",icon:P,end:!0}]},{label:"People",items:[{title:"Users",url:"/admin/users",icon:T},{title:"Subscriptions",url:"/admin/subscriptions",icon:he},{title:"Pipeline",url:"/admin/pipeline",icon:xe}]},{label:"Work",items:[{title:"Jobs",url:"/admin/jobs",icon:D},{title:"Homeowner Leads",url:"/admin/homeowner-leads",icon:ge},{title:"Research Jobs",url:"/admin/research-jobs",icon:ve},{title:"Credentials",url:"/admin/credentials",icon:we}]},{label:"Comms",items:[{title:"Outreach",url:"/admin/outreach",icon:je},{title:"Inspector",url:"/admin/comms",icon:ye},{title:"SMS",url:"/admin/sms",icon:Ne},{title:"Worker Broadcast",url:"/admin/worker-broadcast",icon:I},{title:"Contractor Check-ins",url:"/admin/contractor-checkins",icon:De},{title:"Email Log",url:"/admin/emails",icon:Se},{title:"Contact Inbox",url:"/admin/pipeline?tab=contact",icon:He}]},{label:"Growth",items:[{title:"Orlando Beachhead",url:"/admin/orlando",icon:ke},{title:"Landing Analytics",url:"/admin/landing-analytics",icon:Me}]},{label:"Growth (low volume)",items:[{title:"Experiments",url:"/admin/experiments",icon:Te},{title:"Relay",url:"/admin/relay",icon:I},{title:"Ambassadors",url:"/admin/ambassadors",icon:L},{title:"Referrals",url:"/admin/referrals",icon:L}]},{label:"System",items:[{title:"Activity",url:"/admin/activity",icon:Re},{title:"Security",url:"/admin/security",icon:Ce},{title:"Push Log",url:"/admin/push-log",icon:Ae},{title:"Deactivated",url:"/admin/deactivated",icon:_e}]}],Q=[{title:"Ops",url:"/admin",icon:P,end:!0},{title:"Users",url:"/admin/users",icon:T},{title:"Jobs",url:"/admin/jobs",icon:D}],da=new Set(Q.map(a=>a.url)),la=A.map(a=>({...a,items:a.items.filter(t=>!da.has(t.url))})).filter(a=>a.items.length>0),ca=new Set(A.flatMap(a=>a.items.map(t=>t.url)).filter(a=>a.includes("?tab=")));function ma(){const{state:a,setOpenMobile:t,isMobile:r}=w(),i=a==="collapsed",s=C(),d=(c,l)=>{const[m,u]=c.split("?");if(!(l?s.pathname===m:s.pathname===m||s.pathname.startsWith(m+"/")))return!1;const v=new URLSearchParams(s.search).get("tab"),f=u?new URLSearchParams(u).get("tab"):null;return f?v===f:!v||!ca.has(`${m}?tab=${v}`)},p=()=>{r&&t(!1)};return e.jsx(U,{collapsible:"icon",className:"border-r border-border hidden md:flex",children:e.jsx(K,{className:"pt-2 bg-card",children:A.map(c=>e.jsxs(F,{children:[!i&&e.jsx(V,{className:"text-micro font-semibold uppercase tracking-wider text-muted-foreground",children:c.label}
21),e.jsx($,{children:e.jsx(q,{children:c.items.map(l=>e.jsx(J,{children:e.jsx(Y,{asChild:!0,children:e.jsxs(N,{to:l.url,onClick:p,className:o("relative flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm text-muted-foreground hover:bg-muted/50 hover:text-foreground transition-colors min-h-[40px]",d(l.url,l.end)&&"bg-primary/10 text-primary font-semibold before:absolute before:left-0 before:top-1.5 before:bottom-1.5 before:w-0.5 before:bg-primary before:rounded-r-full"),children:[e.jsx(l.icon,{className:"h-4 w-4 shrink-0"}),!i&&e.jsx("span",{children:l.title})]})})},l.title))})})]},c.label))})})}function ua(){const[a,t]=n.useState(!1),r=C();return e.jsx("nav",{className:"md:hidden fixed bottom-0 left-0 right-0 z-50 bg-card/95 backdrop-blur-xl border-t border-border/60 pb-[env(safe-area-inset-bottom)] [touch-action:manipulation]","aria-label":"Admin navigation",children:e.jsxs("div",{className:"grid grid-cols-5 items-stretch max-w-lg mx-auto",children:[Q.map(i=>e.jsx(O,{to:i.url,end:i.end,className:({isActive:s})=>`relative flex flex-col items-center justify-center gap-0.5 min-h-[60px] py-2 transition-colors active:bg-muted/40 ${s?"text-primary":"text-muted-foreground"}`,children:({isActive:s})=>e.jsxs(e.Fragment,{children:[s&&e.jsx("span",{className:"absolute -top-px inset-x-6 h-0.5 bg-primary rounded-full"}),e.jsx(i.icon,{className:"w-5 h-5"}),e.jsx("span",{className:"text-micro font-medium leading-none",children:i.title})]})},i.url)),e.jsxs(z,{open:a,onOpenChange:t,children:[e.jsx(le,{asChild:!0,children:e.jsxs("button",{type:"button",className:"relative flex flex-col items-center justify-center gap-0.5 min-h-[60px] py-2 text-muted-foreground active:bg-muted/40","aria-label":"More admin sections",children:[e.jsx(Oe,{className:"w-5 h-5"}),e.jsx("span",{className:"text-micro font-medium leading-none",children:"More"})]})}),e.jsxs(E,{side:"bottom",className:"rounded-t-2xl max-h-[80dvh] overflow-y-auto",children:[e.jsx(ce,{children:e.jsx(me,{children:"Admin sections"})}),e.jsx("div",{className:"mt-4 space-y-5",children:la.map(i=>e.jsxs("div",{children:[e.jsx("h3",{className:"px-1 mb-2 text-caption font-semibold uppercase tracking-wider text-muted-foreground",children:i.label}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:i.items.map(s=>{const d=r.pathname+r.search===s.url;return e.jsxs(O,{to:s.url,onClick:()=>t(!1),className:`flex items-center gap-3 p-3 rounded-xl border transition-colors ${d?"bg-primary/10 border-primary/30 text-primary":"bg-card border-border text-foreground hover:bg-muted/40"}`,children:[e.jsx(s.icon,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium truncate",children:s.title})]},s.url)})})]},i.label))})]})]})]})})}const X=n.forwardRef(({...a},t)=>e.jsx("nav",{ref:t,"aria-label":"breadcrumb",...a}));X.displayName="Breadcrumb";const Z=n.forwardRef(({className:a,...t},r)=>e.jsx("ol",{ref:r,className:o("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",a),...t}));Z.displayName="BreadcrumbList";const M=n.forwardRef(({className:a,...t},r)=>e.jsx("li",{ref:r,className:o("inline-flex items-center gap-1.5",a),...t}));M.displayName="BreadcrumbItem";const ee=n.forwardRef(({asChild:a,className:t,...r},i)=>{const s=a?x:"a";return e.jsx(s,{ref:i,className:o("transition-colors hover:text-foreground",t),...r})});ee.displayName="BreadcrumbLink";const R=n.forwardRef(({className:a,...t},r)=>e.jsx("span",{ref:r,role:"link","aria-disabled":"true","aria-current":"page",className:o("font-normal text-foreground",a),...t}));R.displayName="BreadcrumbPage";const ae=({children:a,className:t,...r})=>e.jsx("li",{role:"presentation","aria-hidden":"true",className:o("[&>svg]:size-3.5",t),...r,children:a??e.jsx(ze,{})});ae.displayName="BreadcrumbSeparator";const pa={workers:"Workers",contractors:"Contractors",jobs:"Jobs",deactivated:"Deactivated",emails:"Email Log",contact:"Contact",leads:"Lead Queue",orlando:"Orlando Beachhead","research-jobs":"Research Jobs",credentials:"Credentials","worker-broadcast":"Worker Broadcast",referrals:"Referrals",ambassadors:"Ambassadors",prospects:"Prospects",activity:"Activity",security:"Security",pipeline:"Pipeline",sms:"SMS",overview:"Overview",experiments:"Experiments","landing-analytics":"Landing Analytics"};function Ya(){const{signOut:a}=ue(),{roles:t}=pe(),i=C().pathname.replace(/^\/admin\/?/,"").split("/").filter(
21Boolean),s=i[0]?pa[i[0]]??i[0]:null,d=t.includes("contractor")?"/contractor":t.includes("worker")?"/worker":"/";return e.jsx(G,{children:e.jsxs("div",{className:"min-h-screen flex w-full bg-background",children:[e.jsx(ma,{}),e.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[e.jsx("header",{className:"sticky top-0 z-40 px-3 md:px-4 pt-[calc(env(safe-area-inset-top)+8px)] pb-1",children:e.jsxs("div",{className:"mx-auto max-w-7xl h-14 md:h-16 px-3 md:px-5 flex items-center justify-between gap-3 bg-card/90 backdrop-blur-xl border border-border/60 rounded-card shadow-[0_4px_20px_-4px_rgba(0,0,0,0.12)]",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(W,{className:"md:flex hidden"}),e.jsxs(N,{to:d,className:"flex items-center gap-2 min-w-0","aria-label":"Knuckl home",children:[e.jsx(Ie,{size:"sm"}),e.jsx("span",{className:"inline-flex h-5 px-2 items-center bg-primary text-primary-foreground rounded-full text-micro font-bold tracking-wider uppercase",children:"Admin"})]})]}),e.jsxs("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[e.jsx(Le,{}),e.jsx("span",{className:"hidden sm:block w-px h-6 bg-border mx-1","aria-hidden":"true"}),e.jsx(k,{variant:"ghost",size:"sm",asChild:!0,className:"gap-1.5 rounded-full",children:e.jsxs(N,{to:d,children:[e.jsx(Ee,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Back to App"})]})}),e.jsxs(k,{variant:"ghost",size:"sm",onClick:a,className:"gap-1.5 rounded-full",children:[e.jsx(Pe,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Sign Out"})]})]})]})}),e.jsx("div",{className:"px-4 md:px-6 pt-3 max-w-6xl w-full mx-auto",children:e.jsx(X,{children:e.jsxs(Z,{children:[e.jsx(M,{children:s?e.jsx(ee,{asChild:!0,children:e.jsx(N,{to:"/admin",children:"Admin"})}):e.jsx(R,{children:"Admin"})}),s&&e.jsxs(e.Fragment,{children:[e.jsx(ae,{}),e.jsx(M,{children:e.jsx(R,{children:s})})]})]})})}),e.jsx("main",{id:"main-content",className:"flex-1 px-4 md:px-6 pt-4 md:pt-5 max-w-6xl w-full mx-auto pb-[calc(env(safe-area-inset-bottom)+96px)] md:pb-8 [touch-action:manipulation]",children:e.jsx(Be,{})}),e.jsx(ua,{})]})]})})}export{Ya 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.