1import{c as f,o as F,u as U,r as o,j as a,L as v}from"./index-DG8YForO.js";import{T as B}from"./tag-VCQMk91U.js";import{N as w}from"./newspaper-Cy553zR4.js";import{M as z}from"./message-circle-UBoyu4cz.js";import{M as _}from"./mic-BvpZwRnG.js";import{M as $}from"./music-DVh89x-j.js";import{R as G}from"./rss-DqAqNWOz.js";import{I as q}from"./image-CDw1R9g5.js";import{F as H}from"./folder-open-DIC49Cde.js";import{P as V}from"./pill-max9_GLr.js";import{C as J}from"./church-CW0BkTXK.js";import{B as K}from"./bus-BAVr0J0k.js";import{P as Q}from"./phone-DRuh018K.js";import{C as X}from"./camera-B5GYhjwG.js";import{C as Y}from"./cake-D9XfddpY.js";import{B as C}from"./building-2-Dz8F-U7O.js";import{R as A}from"./radio--9ZStgv-.js";import{U as Z}from"./users-DsX8IvdE.js";import{S as k}from"./shield-D-6P_jbT.js";import{U as aa}from"./user-check-ZINbAr1S.js";import{G as S}from"./globe-CgXMmtNz.js";import{T as R}from"./target-DbAQUbwR.js";import{C as ea}from"./circle-user-BG42yKJj.js";import{T as sa}from"./trending-up-Cp5IqKVS.js";import{M as ta}from"./megaphone-BuBNEUv5.js";import{C as ia}from"./calendar-days-DnlAMzA4.js";import{M}from"./mail-BJSJ6jlm.js";import{W as na}from"./workflow-BokG1BpS.js";import{F as O}from"./file-text-B92_4zbK.js";import{C as ra}from"./chart-column-edZcMYP4.js";import{S as g}from"./settings-Cwes53qy.js";import{S as oa}from"./search-BTTXPEQa.js";import{S as ca}from"./share-2-81Quct8O.js";import{W as la}from"./wifi-BgyMp9KY.js";import{P as da}from"./palette-9LiGs3_5.js";import{L as ma}from"./log-out-CsFMSO7w.js";import{E as xa}from"./external-link-DnpJgfPY.js";import{C as pa}from"./chevron-down-eDSqsBGr.js";/** 2 * @license lucide-react v0.453.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 ha=f("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/** 7 * @license lucide-react v0.453.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 P=f("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"}]]);/** 12 * @license lucide-react v0.453.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 fa=f("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),ga=[{href:"/admin",label:"Dashboard",icon:P},{href:"/admin/utilizadores",label:"Utilizadores",icon:Z},{href:"/admin/roles",label:"Papéis (Roles)",icon:k},{href:"/admin/equipa",label:"Equipa",icon:aa},{href:"/admin/comunidade",label:"Comunidade",icon:S}],L=[{href:"/admin/categorias",label:"Categorias",icon:B},{href:"/admin/noticias",label:"NotÃcias",icon:w},{href:"/admin/comentarios",label:"Comentários",icon:z},{href:"/admin/podcasts",label:"Podcasts",icon:_},{href:"/admin/top-atlantida",label:"Top Atlântida",icon:$},{href:"/admin/ticker",label:"Ticker de NotÃcias",icon:G},{href:"/admin/publicidade",label:"Publicidade",icon:q},{href:"/admin/media",label:"Biblioteca de Média",icon:H}],j=[{href:"/admin/farmacias",label:"Farmácias",icon:V},{href:"/admin/missas",label:"Missas",icon:J},{href:"/admin/minibus",label:"Mini-Bus",icon:K},{href:"/admin/links",label:"Links Ãteis",icon:Q},{href:"/admin/webcams",label:"Webcams",icon:X},{href:"/admin/aniversarios",label:"Aniversários",icon:Y}],N=[{href:"/admin/clientes",label:"Clientes em Emissão",icon:C}],ua=[{href:"/admin/configuracoes",label:"Geral",icon:g},{href:"/admin/configuracoes/seo",label:"SEO",icon:oa},{href:"/admin/configuracoes/redes-sociais",label:"Redes Sociais",icon:ca},{href:"/admin/configuracoes/radio",label:"Rádio & Stream",icon:la},{href:"/admin/configuracoes/aparencia",label:"Aparência",icon:da},{href:"/admin/configuracoes/email",label:"Email / SMTP",icon:M},{href:"/admin/configuracoes/templates-email",label:"Templates de Email",icon:O},{href:"/admin/configuracoes/seguranca",label:"Segurança",icon:k},{href:"/admin/configuracoes/actividade",label:"Log de Actividade",icon:ha}],ya=[{href:"/admin/crm",label:"Dashboard CRM",icon:P},{href:"/admin/crm/contactos",label:"Contactos",icon:ea},{href:"/admin/crm/leads",label:"Leads",icon:R},{href:"/admin/crm/pipeline",label:"Pipeline",icon:sa},{href:"/admin/crm/campanhas",label:"Campanhas",icon:ta},{href:"/admin/crm/calendario",label:"Calendário",icon:ia},{href:"/admin/crm/templates-email",label:"Templates Email",icon:M},{href:"/admin/crm/workflows",label:"Workflows",icon:na},{href:"/admin/crm/documentos",label:"Documentos",icon:O},{href:"/admin/crm/relatorios",label:"Relatórios",icon:ra},{href:"/admin/crm/definicoes",label:"Definições",icon:g}];function l({title:x,items:r,isOpen:c,onToggle:e,icon:d,location:i,onItemClick:m}){const p=r.some(t=>i===t.href||i.startsWith(t.href+"/"));return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.t
16sx:82",className:"pt-1",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:83",onClick:e,className:`w-full flex items-center justify-between px-3 py-2.5 rounded-lg transition-all cursor-pointer ${p&&!c?"bg-[#1a1145] text-white":"text-gray-600 hover:text-gray-900 hover:bg-gray-100"}`,children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:91",className:"flex items-center gap-3",children:[a.jsx(d,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:92",className:"w-4 h-4 flex-shrink-0"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:93",className:"font-medium text-sm",children:x})]}),a.jsx(pa,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:95",className:`w-4 h-4 transition-transform flex-shrink-0 ${c?"rotate-180":""}`})]}),c&&a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:99",className:"ml-3 mt-1 space-y-0.5 border-l-2 border-gray-200 pl-3",children:r.map(t=>{const h=i===t.href||i.startsWith(t.href+"/");return a.jsx(v,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:103",href:t.href,children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:104",onClick:m,className:`flex items-center gap-2.5 px-3 py-2 rounded-lg transition-all cursor-pointer ${h?"bg-[#FFD200]/20 text-[#1a1145] font-semibold":"text-gray-500 hover:text-gray-900 hover:bg-gray-100"}`,children:[a.jsx(t.icon,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:112",className:"w-3.5 h-3.5 flex-shrink-0"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:113",className:"text-xs font-medium",children:t.label})]})},t.href)})})]})}function te({children:x}){const{user:r,logout:c}=F(),[e]=U(),[d,i]=o.useState(!1),[m,p]=o.useState(L.some(s=>e===s.href||e.startsWith(s.href+"/"))),[t,h]=o.useState(j.some(s=>e===s.href||e.startsWith(s.href+"/"))),[u,T]=o.useState(N.some(s=>e===s.href||e.startsWith(s.href+"/"))),[y,I]=o.useState(e.startsWith("/admin/configuracoes")),[b,W]=o.useState(e.startsWith("/admin/crm")),E=async()=>{await c(),window.location.href="/admin/login"},n=()=>i(!1);return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:151",className:"min-h-screen bg-gray-50 flex",children:[d&&a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:154",className:"fixed inset-0 bg-black/30 z-40 lg:hidden",onClick:n}),a.jsxs("aside",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:158",className:`fixed lg:sticky lg:top-0 lg:h-screen inset-y-0 left-0 z-50 w-72 bg-white border-r border-gray-200 flex flex-col transition-transform lg:translate-x-0 shadow-sm flex-shrink-0 ${d?"translate-x-0":"-translate-x-full"}`,children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:160",className:"p-5 border-b border-gray-100",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:161",className:"flex items-center gap-3",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:162",className:"w-10 h-10 rounded-xl bg-[#1a1145] flex items-center justify-center shadow-md",children:a.jsx(A,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:163",className:"w-5 h-5 text-[#FFD200]"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:165",children:[a.jsx("h2",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:166",className:"text-gray-900 font-bold text-sm",children:"Rádio Atlântida"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:167",className:"text-gray-400 text-xs",children:"Painel de Administração"})]})]})}),a.jsxs("nav",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:173",className:"flex-1 p-3 space-y-0.5 overflow-y-auto scrollbar-thin",children:[ga.map(s=>{const D=e===s.href||s.href!=="/admin"&&e.startsWith(s.href);return a.jsx(v,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:178",href:s.href,children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:179",onClick:n,className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-all cursor-pointer ${D?"bg-[#1a1145] text-white shadow-sm":"text-gray-600 hover:text-gray-900 hover:bg-gray-100"}`,children:[a.jsx(s.icon,{"data-loc":"client/src/pages/admin/AdminLayout.t
16sx:187",className:"w-4 h-4 flex-shrink-0"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:188",className:"font-medium text-sm",children:s.label})]})},s.href)}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:195",className:"pt-4 pb-1",children:a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:196",className:"px-3 text-[10px] font-bold text-gray-400 uppercase tracking-widest",children:"Conteúdo"})}),a.jsx(l,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:200",title:"Editorial",items:L,isOpen:m,onToggle:()=>p(!m),icon:w,location:e,onItemClick:n}),a.jsx(l,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:211",title:"Utilidades",items:j,isOpen:t,onToggle:()=>h(!t),icon:S,location:e,onItemClick:n}),a.jsx(l,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:222",title:"Comercial",items:N,isOpen:u,onToggle:()=>T(!u),icon:C,location:e,onItemClick:n}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:233",className:"pt-4 pb-1",children:a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:234",className:"px-3 text-[10px] font-bold text-gray-400 uppercase tracking-widest",children:"Sistema"})}),a.jsx(l,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:238",title:"CRM",items:ya,isOpen:b,onToggle:()=>W(!b),icon:R,location:e,onItemClick:n}),a.jsx(l,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:249",title:"Configurações",items:ua,isOpen:y,onToggle:()=>I(!y),icon:g,location:e,onItemClick:n})]}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:261",className:"px-3 py-2 border-t border-gray-100",children:a.jsx("a",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:262",href:"https://recuperarportugal.gov.pt/",target:"_blank",rel:"noopener noreferrer","aria-label":"PRR - Plano de Recuperação e Resiliência",children:a.jsx("img",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:268",src:"/manus-storage/BARRA_ACORES_PRR_947d3068.webp",alt:"PRR | Governo dos Açores | República Portuguesa | UE",className:"w-full h-auto object-contain bg-white rounded px-1 py-1"})})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:277",className:"p-3 border-t border-gray-100 bg-gray-50/80",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:278",className:"px-3 py-2 mb-1",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:279",className:"flex items-center gap-3",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:280",className:"w-9 h-9 rounded-full bg-gradient-to-br from-[#1a1145] to-[#2d1b6e] flex items-center justify-center text-[#FFD200] font-semibold text-xs flex-shrink-0 shadow-sm",children:r?.name?.charAt(0).toUpperCase()||"A"}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:283",className:"flex-1 min-w-0",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:284",className:"text-gray-900 text-sm font-medium truncate",children:r?.name||"Admin"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:285",className:"text-gray-400 text-xs truncate",children:r?.email})]})]})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:289",className:"flex gap-1",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:290",onClick:E,className:"flex-1 flex items-center justify-center gap-2 px-3 py-2 text-red-500 hover:bg-red-50 rounded-lg transition-all text-xs font-medium",children:[a.jsx(ma,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:294",className:"w-3.5 h-3.5"}),"Sair"]}),a.jsxs("a",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:297",href:"/",target:"_blank",className:"flex-1 flex items-center justify-center gap-2 px-3 py-2 text-gray-400 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-all text-xs font-medium",children:[a.jsx(xa,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:302",className:"w-3.5 h-3.5"}),"Ver Site"]})]})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:310",className:"flex-1 flex flex-col min-h-screen",children:[a.jsxs("header",{"data-loc":"client/src/pages/admin/AdminLayout.t
16sx:312",className:"lg:hidden flex items-center justify-between p-4 border-b border-gray-200 bg-white shadow-sm",children:[a.jsx("button",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:313",onClick:()=>i(!0),className:"p-2 text-gray-500 hover:text-gray-900 rounded-lg hover:bg-gray-100",children:a.jsx(fa,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:314",className:"w-6 h-6"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:316",className:"flex items-center gap-2",children:[a.jsx(A,{"data-loc":"client/src/pages/admin/AdminLayout.tsx:317",className:"w-5 h-5 text-[#1a1145]"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:318",className:"text-gray-900 font-semibold text-sm",children:"Administração"})]}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:320",className:"w-10"})]}),a.jsx("main",{"data-loc":"client/src/pages/admin/AdminLayout.tsx:324",className:"flex-1 p-4 sm:p-6 lg:p-8 overflow-auto",children:x})]})]})}export{te 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.