按 demo/ 的写法把交付包改成「角色由目录决定」:iw/ 拷内网机、ow/ 拷外网机, 各自含镜像 tar、SQL、配置与 install.sh,install.sh 不再收 iw/ow 参数。 前端不再打进镜像,改为静态包放在 <侧>/web/ 只读挂进 nginx:1.27-alpine, 现场临时改页面直接替换文件 + restart web 即可。数据仍全部挂宿主机, 子目录命名与 deploy/offline 一致(pgdata/redis/mq/upload/logs/gate), 默认根改为包内 ./volumes,放数据盘只改 .env 的 SFILE_DATA_ROOT。 后端镜像 sfile-app:1.0.1 含传输优化那一批(实测组包 11.4×、解包 9.9×)。 出包脚本 deployment/scripts/build-package.sh 负责 jar→镜像→前端双包→sql→tar→VERSION。
1 line
43 KiB
JavaScript
1 line
43 KiB
JavaScript
import{t as e}from"./useLocation-CgoDLPeV.js";import{n as t,r as n}from"./dist-CVuPtwWX.js";import{t as r}from"./chevron-left-Dq7KfPwg.js";import{t as i}from"./x-CASPj4fT.js";import{$ as a,A as o,C as s,E as c,G as l,Gt as u,H as d,K as f,Kt as p,L as m,O as h,Q as g,Qt as _,S as v,T as y,U as b,V as x,Vn as S,W as C,X as w,Y as T,Zt as ee,_ as te,_n as E,an as D,at as ne,b as re,d as ie,en as O,et as ae,f as k,fn as A,g as j,h as oe,in as M,it as se,j as N,k as P,l as ce,ln as le,m as ue,nn as F,on as de,ot as fe,p as pe,pn as me,q as he,qn as ge,r as _e,s as ve,sn as I,tt as ye,u as be,v as L,w as xe,x as Se,yn as Ce,zn as we}from"./index-CjPx3lfT.js";import{a as Te,c as Ee,d as De,f as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./dialog-ITi__DUr.js";import{n as Re,t as ze}from"./dist-BfmPJzXI.js";import{n as Be,r as Ve,t as He}from"./dist-C45nHpjp.js";var Ue=A(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),We=A(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),Ge=A(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Ke=A(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),qe=A(`user-lock`,[[`circle`,{cx:`10`,cy:`7`,r:`4`,key:`e45bow`}],[`path`,{d:`M10.3 15H7a4 4 0 0 0-4 4v2`,key:`3bnktk`}],[`path`,{d:`M15 15.5V14a2 2 0 0 1 4 0v1.5`,key:`12ym5i`}],[`rect`,{width:`8`,height:`5`,x:`13`,y:`16`,rx:`.899`,key:`4p176n`}]]),R=ge(S(),1),Je=768;function Ye(){let[e,t]=R.useState(void 0);return R.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Je-1}px)`),n=()=>{t(window.innerWidth<Je)};return e.addEventListener(`change`,n),t(window.innerWidth<Je),()=>e.removeEventListener(`change`,n)},[]),!!e}var z=ge(we(),1);function Xe({...e}){return(0,z.jsx)(Ee,{"data-slot":`sheet`,...e})}function Ze({...e}){return(0,z.jsx)(Ne,{"data-slot":`sheet-portal`,...e})}function Qe({className:e,...t}){return(0,z.jsx)(Oe,{"data-slot":`sheet-overlay`,className:O(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed left-0 right-0 top-0 bottom-0 z-50 bg-black/50`,e),...t})}function $e({className:e,children:t,side:n=`right`,...r}){return(0,z.jsxs)(Ze,{children:[(0,z.jsx)(Qe,{}),(0,z.jsxs)(Le,{"data-slot":`sheet-content`,className:O(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,n===`right`&&`data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,n===`left`&&`data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,n===`top`&&`data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b`,n===`bottom`&&`data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t`,e),...r,children:[t,(0,z.jsxs)(ke,{className:`ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none`,children:[(0,z.jsx)(i,{className:`size-4`}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function et({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sheet-header`,className:O(`flex flex-col gap-1.5 p-4`,e),...t})}function tt({className:e,...t}){return(0,z.jsx)(Ae,{"data-slot":`sheet-title`,className:O(`text-foreground font-semibold`,e),...t})}function nt({className:e,...t}){return(0,z.jsx)(De,{"data-slot":`sheet-description`,className:O(`text-muted-foreground text-sm`,e),...t})}var rt=Object.defineProperty,B=(e,t)=>rt(e,`name`,{value:t,configurable:!0}),[it,at]=P(`Tooltip`,[L]),V=L(),ot=`TooltipProvider`,st=700,ct=`tooltip.open`,[lt,ut]=it(ot),dt=B(e=>{let{__scopeTooltip:t,delayDuration:n=st,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=R.useRef(!0),s=R.useRef(!1),c=R.useRef(0);return R.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(lt,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:R.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:R.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:R.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),ft=`Tooltip`,[pt,H]=it(ft),mt=B(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=ut(ft,e.__scopeTooltip),l=V(t),[u,d]=R.useState(null),[f,p]=R.useState(void 0),m=re(),h=R.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,v=R.useRef(!1),[y,b]=be({prop:r,defaultProp:i??!1,onChange:B(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(ct))):c.onClose(),a==null||a(e)},`onChange`),caller:ft}),x=R.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=R.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=R.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=R.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);R.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let T=f??m;return(0,z.jsx)(ue,{...l,children:(0,z.jsx)(pt,{scope:t,contentId:T,setContentId:p,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:R.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:R.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})},`Tooltip`),ht=`TooltipTrigger`,gt=R.forwardRef(B(function(e,t){let{__scopeTooltip:n,"aria-describedby":r,...i}=e,a=H(ht,n),s=ut(ht,n),c=V(n),l=I(t,R.useRef(null),a.onTriggerChange),u=R.useRef(!1),d=R.useRef(!1),f=R.useCallback(()=>u.current=!1,[]);return R.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,z.jsx)(oe,{asChild:!0,...c,children:(0,z.jsx)(T.button,{"aria-describedby":a.open?Mt(r,a.contentId):r,"data-state":a.stateAttribute,...i,ref:l,onPointerMove:o(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:o(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:o(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:o(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:o(e.onBlur,a.onClose),onClick:o(e.onClick,a.onClose)})})},`TooltipTrigger`)),_t=`TooltipPortal`,[vt,yt]=it(_t,{forceMount:void 0}),bt=B(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=H(_t,t);return(0,z.jsx)(vt,{scope:t,forceMount:n,children:(0,z.jsx)(k,{present:n||a.open,children:(0,z.jsx)(pe,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),U=`TooltipContent`,xt=R.forwardRef(B(function(e,t){let n=yt(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=H(U,e.__scopeTooltip);return(0,z.jsx)(k,{present:r||o.open,children:o.disableHoverableContent?(0,z.jsx)(wt,{side:i,...a,ref:t}):(0,z.jsx)(St,{side:i,...a,ref:t})})},`TooltipContent`)),St=R.forwardRef(B(function(e,t){let n=H(U,e.__scopeTooltip),r=ut(U,e.__scopeTooltip),i=R.useRef(null),a=I(t,i),[o,s]=R.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=R.useCallback(()=>{s(null),d(!1)},[d]),p=R.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Dt(r,Et(r,n.getBoundingClientRect())),a=Ot(t.getBoundingClientRect());s(At([...i,...a])),d(!0)},[d]);return R.useEffect(()=>()=>f(),[f]),R.useEffect(()=>{if(c&&u){let e=B(e=>p(e,u),`handleTriggerLeave`),t=B(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),R.useEffect(()=>{if(o){let e=B(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=(c==null?void 0:c.contains(t))||(u==null?void 0:u.contains(t)),i=!kt(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,z.jsx)(wt,{...e,ref:a})},`TooltipContentHoverable`)),Ct=de(`TooltipContent`),wt=R.forwardRef(B(function(e,n){let{__scopeTooltip:r,children:i,"aria-label":a,id:o,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,f=H(U,r),p=V(r),{onClose:m}=f,[h,g]=R.useState(null),_=I(n,g);s(h),R.useEffect(()=>(document.addEventListener(ct,m),()=>document.removeEventListener(ct,m)),[m]),R.useEffect(()=>{if(f.trigger){let e=B(e=>{e.target instanceof Node&&e.target.contains(f.trigger)&&m()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[f.trigger,m]);let{setContentId:v}=f;return N(()=>(v(o),()=>{v(void 0)}),[o,v]),(0,z.jsx)(c,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,z.jsxs)(te,{"data-state":f.stateAttribute,role:a?void 0:`tooltip`,id:a?void 0:f.contentId,...p,...d,ref:_,style:{...d.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,z.jsx)(Ct,{children:i}),a?(0,z.jsx)(t,{id:f.contentId,role:`tooltip`,children:a}):null]})})},`TooltipContentImpl`)),Tt=R.forwardRef(B(function(e,t){let{__scopeTooltip:n,...r}=e,i=V(n);return(0,z.jsx)(j,{...i,...r,ref:t})},`TooltipArrow`));function Et(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}B(Et,`getExitSideFromRect`);function Dt(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}B(Dt,`getPaddedExitPoints`);function Ot(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}B(Ot,`getPointsFromRect`);function kt(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}B(kt,`isPointInPolygon`);function At(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),jt(t)}B(At,`getHull`);function jt(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}B(jt,`getHullPresorted`);function Mt(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}B(Mt,`concatAriaDescribedby`);function Nt({delayDuration:e=0,...t}){return(0,z.jsx)(dt,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function Pt({...e}){return(0,z.jsx)(Nt,{children:(0,z.jsx)(mt,{"data-slot":`tooltip`,...e})})}function Ft({...e}){return(0,z.jsx)(gt,{"data-slot":`tooltip-trigger`,...e})}function It({className:e,sideOffset:t=0,children:n,...r}){return(0,z.jsx)(bt,{children:(0,z.jsxs)(xt,{"data-slot":`tooltip-content`,sideOffset:t,className:O(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-[var(--radix-tooltip-content-transform-origin)] rounded-md px-3 py-1.5 text-xs`,e),...r,children:[n,(0,z.jsx)(Tt,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}var Lt=`sidebar_state`,Rt=3600*24*7,zt=`16rem`,Bt=`18rem`,Vt=`3rem`,Ht=`b`,Ut=R.createContext(null);function Wt(){let e=R.useContext(Ut);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function Gt({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:a,...o}){let s=Ye(),[c,l]=R.useState(!1),[u,d]=R.useState(e),f=t??u,p=R.useCallback(e=>{let t=typeof e==`function`?e(f):e;n?n(t):d(t),document.cookie=`${Lt}=${t}; path=/; max-age=${Rt}`},[n,f]),m=R.useCallback(()=>s?l(e=>!e):p(e=>!e),[s,p,l]);R.useEffect(()=>{let e=e=>{e.key===Ht&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),m())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[m]);let h=f?`expanded`:`collapsed`,g=R.useMemo(()=>({state:h,open:f,setOpen:p,isMobile:s,openMobile:c,setOpenMobile:l,toggleSidebar:m}),[h,f,p,s,c,l,m]);return(0,z.jsx)(Ut.Provider,{value:g,children:(0,z.jsx)(Nt,{delayDuration:0,children:(0,z.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":zt,"--sidebar-width-icon":Vt,...i},className:O(`group/sidebar-wrapper bg-sidebar flex min-h-screen w-full`,r),...o,children:a})})})}function Kt({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{isMobile:o,state:s,openMobile:c,setOpenMobile:l}=Wt();return n===`none`?(0,z.jsx)(`div`,{"data-slot":`sidebar`,className:O(`bg-sidebar text-sidebar-foreground flex h-full w-[var(--sidebar-width)] flex-col`,r),...a,children:i}):o?(0,z.jsx)(Xe,{open:c,onOpenChange:l,...a,children:(0,z.jsxs)($e,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-[var(--sidebar-width)] p-0 [&>button]:hidden`,style:{"--sidebar-width":Bt},side:e,children:[(0,z.jsxs)(et,{className:`sr-only`,children:[(0,z.jsx)(tt,{children:`Sidebar`}),(0,z.jsx)(nt,{children:`Displays the mobile sidebar.`})]}),(0,z.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,z.jsxs)(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,z.jsx)(`div`,{"data-slot":`sidebar-gap`,className:O(`relative w-[var(--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)+1rem)]`:`group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]`)}),(0,z.jsx)(`div`,{"data-slot":`sidebar-container`,className:O(`fixed inset-y-0 z-10 hidden h-screen w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex`,e===`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)+1rem+2px)]`:`group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l`,r),...a,children:(0,z.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`,children:i})})]})}function qt({className:e,onClick:t,...n}){let{toggleSidebar:r}=Wt();return(0,z.jsxs)(_,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:O(`h-7 w-7`,e),onClick:e=>{t==null||t(e),r()},...n,children:[(0,z.jsx)(Ge,{}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function Jt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:O(`flex flex-col gap-2 p-2`,e),...t})}function Yt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:O(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function Xt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:O(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function Zt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:O(`w-full text-sm`,e),...t})}function Qt({className:e,...t}){return(0,z.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:O(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function $t({className:e,...t}){return(0,z.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:O(`group/menu-item relative`,e),...t})}var en=F(`peer/menu-button flex w-full items-center space-x-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 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]:h-8 group-data-[collapsible=icon]:w-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`}});function tn({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:r=`default`,tooltip:i,className:a,...o}){let s=e?M:`button`,{isMobile:c,state:l}=Wt(),u=(0,z.jsx)(s,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":r,"data-active":t,className:O(en({variant:n,size:r}),a),...o});return i?(typeof i==`string`&&(i={children:i}),(0,z.jsxs)(Pt,{children:[(0,z.jsx)(Ft,{asChild:!0,children:u}),(0,z.jsx)(It,{side:`right`,align:`center`,hidden:l!==`collapsed`||c,...i})]})):u}var nn=`森睿智传`,rn=!1;function an({menus:t,isAdmin:n}){let r=E(),i=e(),a=(0,R.useMemo)(()=>i.pathname.replace(``,``),[i.pathname]);return(0,z.jsxs)(Kt,{className:`[&_.bg-sidebar]:bg-transparent border-none`,children:[(0,z.jsx)(Jt,{className:`m-2 p-0`,children:(0,z.jsxs)(`div`,{className:`flex items-center space-x-2 text-left w-full h-[60px]`,children:[(0,z.jsx)(`img`,{src:m,alt:``,className:`size-12 object-contain rounded-full bg-white overflow-hidden`}),(0,z.jsx)(`div`,{className:`text-primary text-2xl font-bold`,children:n?`管理后台`:nn}),rn]})}),(0,z.jsx)(Yt,{className:`rounded-xl bg-white/50 backdrop-blur-lg m-2 mt-0`,children:(0,z.jsx)(Xt,{children:(0,z.jsx)(Zt,{children:(0,z.jsx)(Qt,{children:t.map(e=>(0,z.jsx)($t,{children:(0,z.jsx)(tn,{asChild:!0,isActive:a===e.url,onClick:()=>{r.navigate({to:e.url})},className:`data-[active=true]:!bg-primary data-[active=true]:!text-white hover:bg-primary/10`,children:(0,z.jsxs)(`div`,{className:`h-[40px] px-4 cursor-pointer`,children:[e.icon,(0,z.jsx)(`span`,{children:e.title})]})})},e.title))})})})})]})}var on=Object.defineProperty,W=(e,t)=>on(e,`name`,{value:t,configurable:!0}),sn=`Avatar`,[cn,ln]=P(sn),G={Idle:`idle`,Loading:`loading`,Loaded:`loaded`,Error:`error`},un=[0,()=>void 0],[dn,fn]=cn(sn),pn=R.forwardRef(W(function(e,t){let{__scopeAvatar:n,...r}=e,[i,a]=R.useState(G.Idle),[o,s]=bn();return(0,z.jsx)(dn,{scope:n,imageLoadingStatus:i,setImageLoadingStatus:a,imageCount:o,setImageCount:s,children:(0,z.jsx)(T.span,{...r,ref:t})})},`Avatar`)),mn=`AvatarImage`,hn=R.forwardRef(W(function(e,t){let{__scopeAvatar:n,src:r,onLoadingStatusChange:i,...a}=e,o=fn(mn,n);o.setImageCount;let s=vn(r,{referrerPolicy:a.referrerPolicy,crossOrigin:a.crossOrigin,loadingStatus:o.imageLoadingStatus,setLoadingStatus:o.setImageLoadingStatus}),c=h(e=>{i==null||i(e)}),l=R.useRef(s);return N(()=>{let e=l.current;l.current=s,s!==e&&c(s)},[s,c]),s===G.Loaded?(0,z.jsx)(T.img,{...a,ref:t,src:r}):null},`AvatarImage`)),gn=`AvatarFallback`,_n=R.forwardRef(W(function(e,t){let{__scopeAvatar:n,delayMs:r,...i}=e,a=fn(gn,n),[o,s]=R.useState(r===void 0);return R.useEffect(()=>{if(r!==void 0){let e=window.setTimeout(()=>s(!0),r);return()=>window.clearTimeout(e)}},[r]),o&&a.imageLoadingStatus!==G.Loaded?(0,z.jsx)(T.span,{...i,ref:t}):null},`AvatarFallback`));function vn(e,{loadingStatus:t,setLoadingStatus:n,referrerPolicy:r,crossOrigin:i}){return N(()=>{if(!e){n(G.Error);return}let t=new window.Image,a=W(e=>{let t=e.currentTarget;n(yn(t))},`handleLoad`),o=W(()=>n(G.Error),`handleError`);return t.addEventListener(`load`,a),t.addEventListener(`error`,o),r&&(t.referrerPolicy=r),t.crossOrigin=i??null,t.src=e,n(yn(t)),()=>{t.removeEventListener(`load`,a),t.removeEventListener(`error`,o),n(G.Idle)}},[e,i,r,n]),t}W(vn,`useImageLoadingStatus`);function yn(e){return e.complete?e.naturalWidth>0?G.Loaded:G.Error:G.Loading}W(yn,`getImageLoadingStatus`);function bn(){return un}W(bn,`useImageCount`);function xn(e){}W(xn,`useUpdateImageCount`);function Sn({className:e,...t}){return(0,z.jsx)(pn,{"data-slot":`avatar`,className:O(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function Cn({className:e,...t}){return(0,z.jsx)(hn,{"data-slot":`avatar-image`,className:O(`aspect-square size-full`,e),...t})}function wn({className:e,...t}){return(0,z.jsx)(_n,{"data-slot":`avatar-fallback`,className:O(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}var Tn=Object.defineProperty,K=(e,t)=>Tn(e,`name`,{value:t,configurable:!0}),En=[`Enter`,` `],Dn=[`ArrowDown`,`PageUp`,`Home`],On=[`ArrowUp`,`PageDown`,`End`],kn=[...Dn,...On];[...En],[...En];var q=`Menu`,[An,jn,Mn]=Re(q),[J,Nn]=P(q,[Mn,L,Ve]),Pn=L(),Fn=Ve(),[In,Y]=J(q),[Ln,Rn]=J(q),zn=K(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Pn(t),[c,l]=R.useState(null),u=R.useRef(!1),d=h(a),f=ze(i);return R.useEffect(()=>{let e=K(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=K(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),R.useEffect(()=>{if(!n)return;let e=K(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,z.jsx)(ue,{...s,children:(0,z.jsx)(In,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,z.jsx)(Ln,{scope:t,onClose:R.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),Bn=R.forwardRef(K(function(e,t){let{__scopeMenu:n,...r}=e,i=Pn(n);return(0,z.jsx)(oe,{...i,...r,ref:t})},`MenuAnchor`)),Vn=`MenuPortal`,[Hn,Un]=J(Vn,{forceMount:void 0}),Wn=K(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Y(Vn,t);return(0,z.jsx)(Hn,{scope:t,forceMount:n,children:(0,z.jsx)(k,{present:n||a.open,children:(0,z.jsx)(pe,{asChild:!0,container:i,children:r})})})},`MenuPortal`),X=`MenuContent`,[Gn,Kn]=J(X),qn=R.forwardRef(K(function(e,t){let n=Un(X,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Y(X,e.__scopeMenu),o=Rn(X,e.__scopeMenu);return(0,z.jsx)(An.Provider,{scope:e.__scopeMenu,children:(0,z.jsx)(k,{present:r||a.open,children:(0,z.jsx)(An.Slot,{scope:e.__scopeMenu,children:o.modal?(0,z.jsx)(Jn,{...i,ref:t}):(0,z.jsx)(Yn,{...i,ref:t})})})})},`MenuContent`)),Jn=R.forwardRef(K(function(e,t){let n=Y(X,e.__scopeMenu),r=R.useRef(null),i=I(t,r);return R.useEffect(()=>{let e=r.current;if(e)return ce(e)},[]),(0,z.jsx)(Zn,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:o(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),Yn=R.forwardRef(K(function(e,t){let n=Y(X,e.__scopeMenu);return(0,z.jsx)(Zn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Xn=D(`MenuContent.ScrollLock`),Zn=R.forwardRef(K(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,disableOutsideScroll:_,...b}=e,x=Y(X,n),S=Rn(X,n),C=Pn(n),w=Fn(n),T=jn(n),[ee,E]=R.useState(null),D=R.useRef(null),[ne,re]=R.useState(null);s(ne);let{nodes:ie,registry:O}=xe(),ae=!!(i||_),k=I(t,D,x.onContentChange,re),A=R.useRef(0),j=R.useRef(``),oe=R.useRef(0),M=R.useRef(null),se=R.useRef(`right`),N=R.useRef(0),P=R.useMemo(()=>_?[D,...ie.map(e=>({current:e}))]:[],[D,ie,_]),ce=_?ve:R.Fragment,le=_?{as:Xn,allowPinchZoom:!0,shards:P}:void 0,ue=K(e=>{var t,n;let r=j.current+e,i=T().filter(e=>!e.disabled),a=document.activeElement,o=(t=i.find(e=>e.ref.current===a))==null?void 0:t.textValue,s=hr(i.map(e=>e.textValue),r,o),c=(n=i.find(e=>e.textValue===s))==null?void 0:n.ref.current;function l(e){j.current=e,window.clearTimeout(A.current),e!==``&&(A.current=window.setTimeout(()=>l(``),1e3))}K(l,`updateSearch`),l(r),c&&setTimeout(()=>c.focus())},`handleTypeaheadSearch`);R.useEffect(()=>()=>window.clearTimeout(A.current),[]),y();let F=R.useCallback(e=>{var t,n;return se.current===((t=M.current)==null?void 0:t.side)&&_r(e,(n=M.current)==null?void 0:n.area)},[]);return(0,z.jsx)(Gn,{scope:n,searchRef:j,onItemEnter:R.useCallback(e=>{F(e)&&e.preventDefault()},[F]),onItemLeave:R.useCallback(e=>{var t;F(e)||((t=D.current)==null||t.focus(),E(null))},[F]),onTriggerLeave:R.useCallback(e=>{F(e)&&e.preventDefault()},[F]),pointerGraceTimerRef:oe,onPointerGraceIntentChange:R.useCallback(e=>{M.current=e},[]),children:(0,z.jsx)(v,{registry:ae?O:null,children:(0,z.jsx)(ce,{...le,children:(0,z.jsx)(Se,{asChild:!0,trapped:i,branches:ie,onMountAutoFocus:o(a,e=>{var t;e.preventDefault(),(t=D.current)==null||t.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,z.jsx)(c,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,children:(0,z.jsx)(He,{asChild:!0,...w,dir:S.dir,orientation:`vertical`,loop:r,currentTabStopId:ee,onCurrentTabStopIdChange:E,onEntryFocus:o(d,e=>{S.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,z.jsx)(te,{role:`menu`,"aria-orientation":`vertical`,"data-state":ur(x.open),"data-radix-menu-content":``,dir:S.dir,...C,...b,ref:k,style:{outline:`none`,...b.style},onKeyDown:o(b.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&ue(e.key));let i=D.current;if(e.target!==i||!kn.includes(e.key))return;e.preventDefault();let a=T().filter(e=>!e.disabled).map(e=>e.ref.current);On.includes(e.key)&&a.reverse(),pr(a)}),onBlur:o(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),j.current=``)}),onPointerMove:o(e.onPointerMove,Z(e=>{let t=e.target,n=N.current!==e.clientX;e.currentTarget.contains(t)&&n&&(se.current=e.clientX>N.current?`right`:`left`,N.current=e.clientX)}))})})})})})})})},`MenuContentImpl`)),Qn=R.forwardRef(K(function(e,t){let{__scopeMenu:n,...r}=e;return(0,z.jsx)(T.div,{...r,ref:t})},`MenuLabel`)),$n=`MenuItem`,er=`menu.itemSelect`,tr=R.forwardRef(K(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=R.useRef(null),s=Rn($n,e.__scopeMenu),c=Kn($n,e.__scopeMenu),l=I(t,a),u=R.useRef(!1),d=K(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(er,{bubbles:!0,cancelable:!0});e.addEventListener(er,e=>r==null?void 0:r(e),{once:!0}),w(e,t),t.defaultPrevented?u.current=!1:s.onClose()}},`handleSelect`);return(0,z.jsx)(nr,{...i,ref:l,disabled:n,onClick:o(e.onClick,d),onPointerDown:t=>{var n;(n=e.onPointerDown)==null||n.call(e,t),u.current=!0},onPointerUp:o(e.onPointerUp,e=>{var t;u.current||(t=e.currentTarget)==null||t.click()}),onKeyDown:o(e.onKeyDown,e=>{n||e.target!==e.currentTarget||c.searchRef.current!==``&&e.key===` `||En.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),nr=R.forwardRef(K(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,s=Kn($n,n),c=Fn(n),l=R.useRef(null),u=I(t,l),[d,f]=R.useState(!1),[p,m]=R.useState(``);return R.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[a.children]),(0,z.jsx)(An.ItemSlot,{scope:n,disabled:r,textValue:i??p,children:(0,z.jsx)(Be,{asChild:!0,...c,focusable:!r,children:(0,z.jsx)(T.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:o(e.onPointerMove,Z(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:o(e.onPointerLeave,Z(e=>s.onItemLeave(e))),onFocus:o(e.onFocus,()=>f(!0)),onBlur:o(e.onBlur,()=>f(!1))})})})},`MenuItemImpl`)),[rr,ir]=J(`MenuRadioGroup`,{value:void 0,onValueChange:K(()=>{},`onValueChange`)}),[ar,or]=J(`MenuItemIndicator`,{checked:!1}),sr=R.forwardRef(K(function(e,t){let{__scopeMenu:n,...r}=e;return(0,z.jsx)(T.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[cr,lr]=J(`MenuSub`);function ur(e){return e?`open`:`closed`}K(ur,`getOpenState`);function dr(e){return e===`indeterminate`}K(dr,`isIndeterminate`);function fr(e){return dr(e)?`indeterminate`:e?`checked`:`unchecked`}K(fr,`getCheckedState`);function pr(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}K(pr,`focusFirst`);function mr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}K(mr,`wrapArray`);function hr(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=mr(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}K(hr,`getNextMatch`);function gr(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}K(gr,`isPointInPolygon`);function _r(e,t){return t?gr({x:e.clientX,y:e.clientY},t):!1}K(_r,`isPointerInGraceArea`);function Z(e){return t=>t.pointerType===`mouse`?e(t):void 0}K(Z,`whenMouse`);var vr=Object.defineProperty,Q=(e,t)=>vr(e,`name`,{value:t,configurable:!0}),yr=`DropdownMenu`,[br,xr]=P(yr,[Nn]),$=Nn(),[Sr,Cr]=br(yr),wr=Q(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=$(t),l=R.useRef(null),[u,d]=be({prop:i,defaultProp:a??!1,onChange:o,caller:yr});return(0,z.jsx)(Sr,{scope:t,triggerId:re(),triggerRef:l,contentId:re(),open:u,onOpenChange:d,onOpenToggle:R.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,z.jsx)(zn,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),Tr=`DropdownMenuTrigger`,Er=R.forwardRef(Q(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=Cr(Tr,n),s=$(n),c=I(t,a.triggerRef);return(0,z.jsx)(Bn,{asChild:!0,...s,children:(0,z.jsx)(T.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:c,onPointerDown:o(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:o(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),Dr=Q(e=>{let{__scopeDropdownMenu:t,...n}=e,r=$(t);return(0,z.jsx)(Wn,{...r,...n})},`DropdownMenuPortal`),Or=`DropdownMenuContent`,kr=R.forwardRef(Q(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Cr(Or,n),a=$(n),s=R.useRef(!1);return(0,z.jsx)(qn,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:o(e.onCloseAutoFocus,e=>{var t;s.current||(t=i.triggerRef.current)==null||t.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:o(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),Ar=R.forwardRef(Q(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,z.jsx)(Qn,{...i,...r,ref:t})},`DropdownMenuLabel`)),jr=R.forwardRef(Q(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,z.jsx)(tr,{...i,...r,ref:t})},`DropdownMenuItem`)),Mr=R.forwardRef(Q(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,z.jsx)(sr,{...i,...r,ref:t})},`DropdownMenuSeparator`));function Nr({...e}){return(0,z.jsx)(wr,{"data-slot":`dropdown-menu`,...e})}function Pr({...e}){return(0,z.jsx)(Er,{"data-slot":`dropdown-menu-trigger`,...e})}function Fr({className:e,sideOffset:t=4,...n}){return(0,z.jsx)(Dr,{children:(0,z.jsx)(kr,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:O(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] origin-[var(--radix-dropdown-menu-content-transform-origin)] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function Ir({className:e,inset:t,variant:n=`default`,...r}){return(0,z.jsx)(jr,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:O(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:[&_svg]:text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function Lr({className:e,inset:t,...n}){return(0,z.jsx)(Ar,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:O(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function Rr({className:e,...t}){return(0,z.jsx)(Mr,{"data-slot":`dropdown-menu-separator`,className:O(`bg-border -mx-1 my-1 h-px`,e),...t})}var zr=g({oldPassword:a().nonempty({message:`旧密码不能为空`}),newPassword:a().nonempty({message:`新密码不能为空`}),reNewPassword:a().nonempty({message:`确认密码不能为空`})});function Br({open:e,setOpen:t}){let{mutateAsync:n,isPending:r}=Ce({mutationFn:p,onSuccess(){t(!1)}}),i=ye({resolver:ae(zr),defaultValues:{oldPassword:``,newPassword:``,reNewPassword:``}});(0,R.useEffect)(()=>{e&&i.reset()},[e]);let a=e=>{le.promise(n(e),{loading:`提交中...`,success:`修改成功`})};return(0,z.jsx)(Ie,{open:e,onOpenChange:t,children:(0,z.jsxs)(Pe,{className:`w-[400px]`,children:[(0,z.jsx)(Me,{children:(0,z.jsx)(Fe,{children:`修改密码`})}),(0,z.jsx)(d,{...i,children:(0,z.jsxs)(`form`,{onSubmit:i.handleSubmit(a),className:`space-y-4`,children:[(0,z.jsx)(C,{control:i.control,name:`oldPassword`,render:({field:e})=>(0,z.jsxs)(l,{children:[(0,z.jsx)(f,{children:`旧密码`}),(0,z.jsx)(b,{children:(0,z.jsx)(x,{...e,type:`password`})}),(0,z.jsx)(he,{})]})}),(0,z.jsx)(C,{control:i.control,name:`newPassword`,render:({field:e})=>(0,z.jsxs)(l,{children:[(0,z.jsx)(f,{children:`新密码`}),(0,z.jsx)(b,{children:(0,z.jsx)(x,{...e,type:`password`})}),(0,z.jsx)(he,{})]})}),(0,z.jsx)(C,{control:i.control,name:`reNewPassword`,render:({field:e})=>(0,z.jsxs)(l,{children:[(0,z.jsx)(f,{children:`确认密码`}),(0,z.jsx)(b,{children:(0,z.jsx)(x,{...e,type:`password`})}),(0,z.jsx)(he,{})]})}),(0,z.jsxs)(Te,{children:[(0,z.jsx)(je,{asChild:!0,children:(0,z.jsx)(_,{variant:`outline`,children:`取消`})}),(0,z.jsxs)(_,{type:`submit`,disabled:r,children:[r&&(0,z.jsx)(ee,{}),`确定`]})]})]})})]})})}function Vr({menus:e,isAdmin:t}){var i,a;let o=E(),{user:s,org:c}=fe(),[l,d]=(0,R.useState)(!1),{mutateAsync:f,isPending:p}=Ce({mutationFn:u,onSuccess(){fe.setState({token:null}),o.navigate({to:`/login`})}}),m=()=>{le.promise(f(),{loading:`退出中...`,success:`退出成功`})},h=se(),g=ne(),[v,y]=(0,R.useState)(!1);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(Gt,{className:`bg-transparent`,children:[(0,z.jsx)(an,{menus:e,isAdmin:t}),(0,z.jsxs)(`main`,{className:`w-full h-screen flex flex-col overflow-hidden`,children:[(0,z.jsx)(`div`,{className:`flex-none p-2`,children:(0,z.jsxs)(`div`,{className:`flex-none flex items-center space-x-3 h-[60px]`,children:[(0,z.jsx)(qt,{className:`bg-white/20 size-8`}),(0,z.jsx)(`div`,{className:`flex-auto`}),(h||g)&&(0,z.jsx)(`div`,{className:`flex-none`,children:t?(0,z.jsxs)(_,{variant:`ghost`,size:`sm`,onClick:()=>{o.navigate({to:`/`})},children:[(0,z.jsx)(r,{}),`返回智传`]}):(0,z.jsxs)(_,{variant:`ghost`,size:`sm`,className:`bg-white/20`,onClick:()=>{o.navigate({to:`/admin`})},children:[(0,z.jsx)(We,{}),`管理后台`]})}),(0,z.jsxs)(Nr,{children:[(0,z.jsx)(Pr,{asChild:!0,children:(0,z.jsxs)(`div`,{className:`flex items-center space-x-2 p-2 text-sm rounded-lg cursor-pointer`,children:[(0,z.jsx)(`span`,{children:c==null?void 0:c.orgName}),(0,z.jsx)(n,{size:12})]})}),(0,z.jsxs)(Fr,{side:`bottom`,align:`end`,className:`min-w-[260px]`,children:[(0,z.jsx)(Lr,{children:(0,z.jsxs)(`div`,{className:`flex items-center space-x-2 text-left p-2 w-full`,children:[(0,z.jsxs)(Sn,{className:`size-12`,children:[(0,z.jsx)(Cn,{src:s==null?void 0:s.avatarUrl,alt:`头像`}),(0,z.jsx)(wn,{children:s==null||(i=s.nickname)==null?void 0:i.slice(0,1)})]}),(0,z.jsxs)(`div`,{className:`flex-auto`,children:[(0,z.jsx)(`div`,{className:`text-base`,children:s==null?void 0:s.nickname}),(0,z.jsx)(`div`,{className:`text-xs mt-1 dark:text-white/60 text-black/60`,children:s==null?void 0:s.username})]})]})}),(0,z.jsx)(Rr,{}),(0,z.jsxs)(`div`,{className:`p-1`,children:[(0,z.jsx)(Ir,{className:`p-0`,children:(0,z.jsxs)(tn,{className:`px-4 h-[40px] bg-transparent `,onClick:()=>d(!0),children:[(0,z.jsx)(Ke,{}),(0,z.jsx)(`span`,{children:`个人信息`})]})}),(0,z.jsx)(Ir,{className:`p-0`,children:(0,z.jsxs)(tn,{className:`px-4 h-[40px] bg-transparent`,onClick:()=>y(!0),children:[(0,z.jsx)(qe,{}),(0,z.jsx)(`span`,{children:`修改密码`})]})})]}),(0,z.jsx)(Rr,{}),(0,z.jsx)(`div`,{className:`p-1`,children:(0,z.jsx)(_,{variant:`destructive`,size:`lg`,className:`w-full text-left`,onClick:m,children:(0,z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[p&&(0,z.jsx)(ee,{}),`退出登录`,(0,z.jsx)(Ue,{size:16})]})})})]})]})]})}),(0,z.jsx)(`div`,{className:`flex-auto h-full overflow-y-auto p-2 pt-0`,children:(0,z.jsx)(`div`,{className:`rounded-xl bg-white/50 backdrop-blur-lg min-h-full`,children:(0,z.jsx)(me,{})})})]})]}),(0,z.jsx)(Br,{open:v,setOpen:y}),(0,z.jsx)(Ie,{open:l,onOpenChange:d,children:(0,z.jsxs)(Pe,{className:`w-[380px]`,children:[(0,z.jsx)(Me,{children:(0,z.jsx)(Fe,{children:`个人信息`})}),(0,z.jsxs)(`div`,{className:`space-y-2 text-sm`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,z.jsx)(`span`,{className:`w-[60px] text-black/60`,children:`头像`}),(0,z.jsxs)(Sn,{className:`h-[40px] w-[40px]`,children:[(0,z.jsx)(Cn,{src:s==null?void 0:s.avatarUrl,alt:`头像`}),(0,z.jsx)(wn,{children:s==null||(a=s.nickname)==null?void 0:a.slice(0,1)})]})]}),(0,z.jsx)(_e,{}),(0,z.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,z.jsx)(`span`,{className:`w-[60px] text-black/60`,children:`昵称`}),(0,z.jsx)(`span`,{children:s==null?void 0:s.nickname})]}),(0,z.jsx)(_e,{}),(0,z.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,z.jsx)(`span`,{className:`w-[60px] text-black/60`,children:`账号`}),(0,z.jsx)(`span`,{children:s==null?void 0:s.username})]}),(0,z.jsx)(_e,{}),(0,z.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,z.jsx)(`span`,{className:`w-[60px] text-black/60`,children:`手机号`}),(0,z.jsx)(`span`,{children:s==null?void 0:s.phone})]})]})]})})]})}export{Vr as t}; |