PageSourceSearch

https://smartdevops.ai/assets/AdminLayout-9Coy7lCm.js

js smartdevops.ai collected 2026-10-05 15:06:01 UTC 5,158 bytes, 16 lines download raw bytes

1import{F as n,$ as k,ad as S,ae as C,U as m,O as e,L as r,B as i,w as o,M as L,G as z}from"./index-IBHyG7M_.js";import{C as O}from"./chevron-right-Dp_jLZ0E.js";import{C as M}from"./chevron-left-BuTMcAN3.js";import{F as h}from"./file-text-CqvuMhVD.js";import{B as x}from"./briefcase-7NZVkpzC.js";import{M as p}from"./message-square-CQQno_qi.js";import{I as A}from"./image-IIRzQ_u1.js";import{U as B}from"./users-BsNMWO3t.js";import{C as D}from"./chart-column-DIo4-TcE.js";import{S as I}from"./search-CrgSiNi5.js";import{S as P}from"./shield-DUfxfOyh.js";import{S as U}from"./settings-CDFlGSbZ.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 V=n("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
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 E=n("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
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 F=n("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),G=[{label:"Dashboard",icon:V,path:"/admin"},{label:"Blog Posts",icon:h,path:"/admin/blog"},{label:"Services",icon:x,path:"/admin/services"},{label:"Products",icon:F,path:"/admin/products"},{label:"Case Studies",icon:h,path:"/admin/case-studies"},{label:"Testimonials",icon:p,path:"/admin/testimonials"},{label:"Gallery",icon:A,path:"/admin/gallery"},{label:"Leads",icon:B,path:"/admin/leads"},{label:"Analytics",icon:D,path:"/admin/analytics"},{label:"SEO",icon:I,path:"/admin/seo"},{label:"Chat",icon:p,path:"/admin/chat"},{label:"Careers",icon:x,path:"/admin/careers"},{label:"Users",icon:P,path:"/admin/users"},{label:"Settings",icon:U,path:"/admin/settings"}];function Z({children:f}){var d;const{user:t,signOut:u,roles:g}=k(),b=S(),y=C(),[a,j]=m.useState(!1),[c,l]=m.useState(!1),v=async()=>{await u(),y("/admin/login")},N=e.jsxs("div",{className:o("flex flex-col h-full bg-card border-r border-border transition-all",a?"w-16":"w-64"),children:[e.jsxs("div",{className:"p-4 border-b border-border flex items-center justify-between",children:[!a&&e.jsx(r,{to:"/admin",className:"font-display font-bold text-foreground text-lg",children:"SmartDevops Admin"}),e.jsx(i,{variant:"ghost",size:"icon",onClick:()=>j(!a),className:"hidden lg:flex",children:a?e.jsx(O,{className:"w-4 h-4"}):e.jsx(M,{className:"w-4 h-4"})})]}),e.jsx("nav",{className:"flex-1 p-2 space-y-1 overflow-y-auto",children:G.map(s=>{const w=b.pathname===s.path;return e.jsxs(r,{to:s.path,onClick:()=>l(!1),className:o("flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition-colors",w?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:[e.jsx(s.icon,{className:"w-4 h-4 shrink-0"}),!a&&e.jsx("span",{children:s.label})]},s.path)})}),e.jsxs("div",{className:"p-4 border-t border-border",children:[!a&&e.jsxs("div",{className:"mb-3",children:[e.jsx("p",{className:"text-xs text-muted-foreground truncate",children:t==null?void 0:t.email}),e.jsx("p",{className:"text-xs text-primary capitalize",children:((d=g[0])==null?void 0:d.replace("_"," "))||"Staff"})]}),e.jsxs(i,{variant:"ghost",size:a?"icon":"default",onClick:v,className:"w-full justify-start",children:[e.jsx(E,{className:"w-4 h-4"}),!a&&e.jsx("span",{className:"ml-2",children:"Sign Out"})]})]})]});return e.jsxs("div",{className:"min-h-screen flex bg-background",children:[c&&e.jsx("div",{className:"fixed inset-0 z-40 bg-foreground
16/50 lg:hidden",onClick:()=>l(!1)}),e.jsx("div",{className:o("fixed inset-y-0 left-0 z-50 lg:static lg:z-auto transition-transform",c?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:N}),e.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[e.jsxs("header",{className:"h-14 border-b border-border flex items-center px-4 gap-4 bg-card",children:[e.jsx(i,{variant:"ghost",size:"icon",className:"lg:hidden",onClick:()=>l(!0),children:e.jsx(L,{className:"w-5 h-5"})}),e.jsx("div",{className:"flex-1"}),e.jsxs(r,{to:"/",className:"text-xs text-muted-foreground hover:text-foreground flex items-center gap-1",children:[e.jsx(z,{className:"w-3 h-3"})," View Site"]})]}),e.jsx("main",{className:"flex-1 p-4 md:p-6 overflow-y-auto",children:f})]})]})}export{Z 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.