import{$ as e,$t as t,Et as n,Ft as r,Gt as i,H as a,It as o,K as s,Ot as c,Q as l,St as u,X as d,Z as f,at as p,bt as m,et as ee,hn as h,it as g,rt as _,wt as v,yt as y}from"./editor-DJ72UhpY.js";import{Ar as b,Jr as x,Kr as S,Mr as C,Nr as w,Or as T,Tr as E,Ur as D,Vr as O,a as k,i as A,jr as te,yr as ne,zr as j}from"./vendor-BqxQPPIo.js";import{l as M,t as N}from"./index-BsmF42t4.js";import{t as P}from"./_plugin-vue_export-helper-BzmG9fMN.js";var F={class:`logo-container`},I={class:`logo-icon`},L={class:`logo-text`},R={class:`menu-label`},z={class:`header-left`},B={class:`breadcrumb-current`},V={class:`header-right`},H={class:`user-info`},U={class:`user-meta`},W={class:`username`},G=P(p({__name:`Layout`,setup(p){let P=A(),G=k(),K=N(),q=i(!1);function J(){q.value=window.innerWidth<768}y(()=>{J(),window.addEventListener(`resize`,J)}),m(()=>{window.removeEventListener(`resize`,J)});let Y=d(()=>P.name),X=d(()=>({admin:`danger`,editor:`success`,viewer:`info`})[K.userRole||`viewer`]||`info`),Z=d(()=>({admin:`管理员`,editor:`编辑`,viewer:`访客`})[K.userRole||`viewer`]||`用户`),Q=[{label:`仪表盘`,key:`AdminDashboard`,icon:j},{label:`文章管理`,key:`AdminPostList`,icon:T},{label:`分类管理`,key:`AdminCategories`,icon:C},{label:`标签管理`,key:`AdminTags`,icon:O},{label:`书签管理`,key:`Bookmark`,icon:E},{label:`用户管理`,key:`AdminUsers`,icon:x,requiresAdmin:!0}],re=d(()=>Q.filter(e=>e.requiresAdmin?K.isAdmin:!0));function ie(e){G.push({name:e})}function ae(e){e===`logout`&&(K.logout(),M.success(`已退出登录`),G.push(`/login`))}return(i,d)=>{let p=n(`el-icon`),m=n(`el-menu-item`),y=n(`el-menu`),x=n(`el-aside`),C=n(`router-link`),T=n(`el-breadcrumb-item`),E=n(`el-breadcrumb`),O=n(`el-button`),k=n(`el-divider`),A=n(`el-avatar`),j=n(`el-tag`),M=n(`el-dropdown-item`),N=n(`el-dropdown-menu`),J=n(`el-dropdown`),Q=n(`el-header`),oe=n(`router-view`),se=n(`el-main`),$=n(`el-container`);return u(),l($,{class:`h-screen admin-layout`},{default:r(()=>[g(x,{width:q.value?`72px`:`240px`,class:`sidebar transition-all duration-300`},{default:r(()=>[f(`div`,F,[f(`div`,I,[g(p,{size:28,color:`#fff`},{default:r(()=>[g(t(D))]),_:1})]),o(f(`span`,L,`管理后台`,512),[[a,!q.value]])]),g(y,{collapse:q.value,"collapse-transition":!1,"default-active":Y.value,class:`admin-menu`,onSelect:ie},{default:r(()=>[(u(!0),ee(s,null,v(re.value,e=>(u(),l(m,{key:e.key,index:e.key},{title:r(()=>[f(`span`,R,h(e.label),1)]),default:r(()=>[g(p,{size:18},{default:r(()=>[(u(),l(c(e.icon)))]),_:2},1024)]),_:2},1032,[`index`]))),128))]),_:1},8,[`collapse`,`default-active`]),f(`div`,{class:`collapse-btn`,onClick:d[0]||=e=>q.value=!q.value},[g(p,{size:18,color:`#a0aec0`},{default:r(()=>[q.value?(u(),l(t(b),{key:1})):(u(),l(t(te),{key:0}))]),_:1})])]),_:1},8,[`width`]),g($,{class:`main-container`},{default:r(()=>[g(Q,{class:`top-header`,height:`64px`},{default:r(()=>[f(`div`,z,[g(E,{class:`breadcrumb`},{default:r(()=>[g(T,null,{default:r(()=>[g(C,{to:`/admin`,class:`breadcrumb-link`},{default:r(()=>[...d[2]||=[_(`后台`,-1)]]),_:1})]),_:1}),t(P).meta.title?(u(),l(T,{key:0},{default:r(()=>[f(`span`,B,h(t(P).meta.title),1)]),_:1})):e(``,!0)]),_:1})]),f(`div`,V,[g(O,{text:``,class:`header-btn`,onClick:d[1]||=e=>t(G).push(`/`)},{default:r(()=>[g(p,{size:16},{default:r(()=>[g(t(w))]),_:1}),d[3]||=f(`span`,{class:`ml-1`},`前台首页`,-1)]),_:1}),g(k,{direction:`vertical`}),g(J,{onCommand:ae,class:`user-dropdown`},{dropdown:r(()=>[g(N,{class:`user-menu`},{default:r(()=>[g(M,{command:`logout`},{default:r(()=>[g(p,null,{default:r(()=>[g(t(S))]),_:1}),d[4]||=f(`span`,null,`退出登录`,-1)]),_:1})]),_:1})]),default:r(()=>[f(`div`,H,[g(A,{size:32,style:{background:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,color:`#fff`,fontWeight:`bold`}},{default:r(()=>[_(h(t(K).user?.username?.charAt(0).toUpperCase()||`U`),1)]),_:1}),o(f(`div`,U,[f(`span`,W,h(t(K).user?.username||`用户`),1),g(j,{type:X.value,size:`small`,effect:`dark`,class:`role-tag`},{default:r(()=>[_(h(Z.value),1)]),_:1},8,[`type`])],512),[[a,!q.value]]),g(p,{class:`dropdown-arrow`},{default:r(()=>[g(t(ne))]),_:1})])]),_:1})])]),_:1}),g(se,{class:`content-area`},{default:r(()=>[g(oe)]),_:1})]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-679c3a0e`]]);export{G as default};