fix: try_out_plan_id setting

This commit is contained in:
xboard 2025-01-07 02:33:55 +08:00
parent 94c7fd327c
commit 07eaddcb83
82 changed files with 84 additions and 3975 deletions

View File

@ -1 +1 @@
import{j as a,a as s}from"./index-_xd8OyP8.js";import{h as l}from"./button-DhrtVlOa.js";import{I as n}from"./input-d0vtE30O.js";import{T as p}from"./textarea-Bmd-AJpD.js";const x=(e,r)=>{let t=null;switch(e.field_type){case"input":t=a.jsx(n,{placeholder:e.placeholder,...r});break;case"textarea":t=a.jsx(p,{placeholder:e.placeholder,...r});break;case"select":t=a.jsx("select",{className:s(l({variant:"outline"}),"w-full appearance-none font-normal"),...r,children:e.select_options&&Object.keys(e.select_options).map(o=>a.jsx("option",{value:o,children:e.select_options?.[o]},o))});break;default:t=null;break}return t};export{x as D};
import{j as a,a as s}from"./index-ra1jmRmU.js";import{h as l}from"./button-BkBuHKqj.js";import{I as n}from"./input-BJSapCFH.js";import{T as p}from"./textarea-C2MOf6wm.js";const x=(e,r)=>{let t=null;switch(e.field_type){case"input":t=a.jsx(n,{placeholder:e.placeholder,...r});break;case"textarea":t=a.jsx(p,{placeholder:e.placeholder,...r});break;case"select":t=a.jsx("select",{className:s(l({variant:"outline"}),"w-full appearance-none font-normal"),...r,children:e.select_options&&Object.keys(e.select_options).map(o=>a.jsx("option",{value:o,children:e.select_options?.[o]},o))});break;default:t=null;break}return t};export{x as D};

View File

@ -1 +1 @@
import{c as a}from"./index-_xd8OyP8.js";var e=a("adjustments","IconAdjustments",[["path",{d:"M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M6 4v4",key:"svg-1"}],["path",{d:"M6 12v8",key:"svg-2"}],["path",{d:"M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-3"}],["path",{d:"M12 4v10",key:"svg-4"}],["path",{d:"M12 18v2",key:"svg-5"}],["path",{d:"M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M18 4v1",key:"svg-7"}],["path",{d:"M18 9v11",key:"svg-8"}]]),t=a("lock","IconLock",[["path",{d:"M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6z",key:"svg-0"}],["path",{d:"M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M8 11v-4a4 4 0 1 1 8 0v4",key:"svg-2"}]]),s=a("server","IconServer",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 12m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-1"}],["path",{d:"M7 8l0 .01",key:"svg-2"}],["path",{d:"M7 16l0 .01",key:"svg-3"}]]),h=a("ticket","IconTicket",[["path",{d:"M15 5l0 2",key:"svg-0"}],["path",{d:"M15 11l0 2",key:"svg-1"}],["path",{d:"M15 17l0 2",key:"svg-2"}],["path",{d:"M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-3a2 2 0 0 0 0 -4v-3a2 2 0 0 1 2 -2",key:"svg-3"}]]);export{t as I,h as a,s as b,e as c};
import{c as a}from"./index-ra1jmRmU.js";var e=a("adjustments","IconAdjustments",[["path",{d:"M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M6 4v4",key:"svg-1"}],["path",{d:"M6 12v8",key:"svg-2"}],["path",{d:"M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-3"}],["path",{d:"M12 4v10",key:"svg-4"}],["path",{d:"M12 18v2",key:"svg-5"}],["path",{d:"M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M18 4v1",key:"svg-7"}],["path",{d:"M18 9v11",key:"svg-8"}]]),t=a("lock","IconLock",[["path",{d:"M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6z",key:"svg-0"}],["path",{d:"M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M8 11v-4a4 4 0 1 1 8 0v4",key:"svg-2"}]]),s=a("server","IconServer",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 12m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-1"}],["path",{d:"M7 8l0 .01",key:"svg-2"}],["path",{d:"M7 16l0 .01",key:"svg-3"}]]),h=a("ticket","IconTicket",[["path",{d:"M15 5l0 2",key:"svg-0"}],["path",{d:"M15 11l0 2",key:"svg-1"}],["path",{d:"M15 17l0 2",key:"svg-2"}],["path",{d:"M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-3a2 2 0 0 0 0 -4v-3a2 2 0 0 1 2 -2",key:"svg-3"}]]);export{t as I,h as a,s as b,e as c};

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as r}from"./user-nav-BBmBVa03.js";/**
import{c as r}from"./user-nav-Ch7kI57y.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1,4 +1,4 @@
import{r as i,v as y,j as n,z as _,a as f,x as Z}from"./index-_xd8OyP8.js";import{c as J,a as p,e as Q,u as X}from"./index-BwSRHYe4.js";import{P as b,R as ee,h as te,a as oe,F as ae,D as ne,u as h,b as se}from"./index-CcyXqhZ9.js";import{P as m}from"./index-CX6PQ3zO.js";import{a as re}from"./react-icons.esm-rZq2pt7A.js";var N="Dialog",[E,Ie]=J(N),[ie,d]=E(N),w=e=>{const{__scopeDialog:t,children:o,open:s,defaultOpen:r,onOpenChange:a,modal:l=!0}=e,c=i.useRef(null),g=i.useRef(null),[v=!1,D]=X({prop:s,defaultProp:r,onChange:a});return n.jsx(ie,{scope:t,triggerRef:c,contentRef:g,contentId:h(),titleId:h(),descriptionId:h(),open:v,onOpenChange:D,onOpenToggle:i.useCallback(()=>D(Y=>!Y),[D]),modal:l,children:o})};w.displayName=N;var P="DialogTrigger",O=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(P,o),a=y(t,r.triggerRef);return n.jsx(m.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":j(r.open),...s,ref:a,onClick:p(e.onClick,r.onOpenToggle)})});O.displayName=P;var C="DialogPortal",[le,I]=E(C,{forceMount:void 0}),T=e=>{const{__scopeDialog:t,forceMount:o,children:s,container:r}=e,a=d(C,t);return n.jsx(le,{scope:t,forceMount:o,children:i.Children.map(s,l=>n.jsx(b,{present:o||a.open,children:n.jsx(se,{asChild:!0,container:r,children:l})}))})};T.displayName=C;var x="DialogOverlay",A=i.forwardRef((e,t)=>{const o=I(x,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(x,e.__scopeDialog);return a.modal?n.jsx(b,{present:s||a.open,children:n.jsx(ce,{...r,ref:t})}):null});A.displayName=x;var ce=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(x,o);return n.jsx(ee,{as:_,allowPinchZoom:!0,shards:[r.contentRef],children:n.jsx(m.div,{"data-state":j(r.open),...s,ref:t,style:{pointerEvents:"auto",...s.style}})})}),u="DialogContent",M=i.forwardRef((e,t)=>{const o=I(u,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(u,e.__scopeDialog);return n.jsx(b,{present:s||a.open,children:a.modal?n.jsx(de,{...r,ref:t}):n.jsx(ue,{...r,ref:t})})});M.displayName=u;var de=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(null),r=y(t,o.contentRef,s);return i.useEffect(()=>{const a=s.current;if(a)return te(a)},[]),n.jsx(F,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:p(e.onCloseAutoFocus,a=>{a.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:p(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&a.preventDefault()}),onFocusOutside:p(e.onFocusOutside,a=>a.preventDefault())})}),ue=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(!1),r=i.useRef(!1);return n.jsx(F,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(s.current||o.triggerRef.current?.focus(),a.preventDefault()),s.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(s.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const l=a.target;o.triggerRef.current?.contains(l)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),F=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:a,...l}=e,c=d(u,o),g=i.useRef(null),v=y(t,g);return oe(),n.jsxs(n.Fragment,{children:[n.jsx(ae,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:a,children:n.jsx(ne,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":j(c.open),...l,ref:v,onDismiss:()=>c.onOpenChange(!1)})}),n.jsxs(n.Fragment,{children:[n.jsx(fe,{titleId:c.titleId}),n.jsx(pe,{contentRef:g,descriptionId:c.descriptionId})]})]})}),R="DialogTitle",S=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(R,o);return n.jsx(m.h2,{id:r.titleId,...s,ref:t})});S.displayName=R;var k="DialogDescription",$=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(k,o);return n.jsx(m.p,{id:r.descriptionId,...s,ref:t})});$.displayName=k;var W="DialogClose",G=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(W,o);return n.jsx(m.button,{type:"button",...s,ref:t,onClick:p(e.onClick,()=>r.onOpenChange(!1))})});G.displayName=W;function j(e){return e?"open":"closed"}var L="DialogTitleWarning",[Te,z]=Q(L,{contentName:u,titleName:R,docsSlug:"dialog"}),fe=({titleId:e})=>{const t=z(L),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
import{r as i,v as y,j as n,z as _,a as f,x as Z}from"./index-ra1jmRmU.js";import{c as J,a as p,e as Q,u as X}from"./index-OwEZQf1t.js";import{P as b,R as ee,h as te,a as oe,F as ae,D as ne,u as h,b as se}from"./index-CmmzV1O3.js";import{P as m}from"./index-QSXu8nGm.js";import{a as re}from"./react-icons.esm-BRv52UVg.js";var N="Dialog",[E,Ie]=J(N),[ie,d]=E(N),w=e=>{const{__scopeDialog:t,children:o,open:s,defaultOpen:r,onOpenChange:a,modal:l=!0}=e,c=i.useRef(null),g=i.useRef(null),[v=!1,D]=X({prop:s,defaultProp:r,onChange:a});return n.jsx(ie,{scope:t,triggerRef:c,contentRef:g,contentId:h(),titleId:h(),descriptionId:h(),open:v,onOpenChange:D,onOpenToggle:i.useCallback(()=>D(Y=>!Y),[D]),modal:l,children:o})};w.displayName=N;var P="DialogTrigger",O=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(P,o),a=y(t,r.triggerRef);return n.jsx(m.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":j(r.open),...s,ref:a,onClick:p(e.onClick,r.onOpenToggle)})});O.displayName=P;var C="DialogPortal",[le,I]=E(C,{forceMount:void 0}),T=e=>{const{__scopeDialog:t,forceMount:o,children:s,container:r}=e,a=d(C,t);return n.jsx(le,{scope:t,forceMount:o,children:i.Children.map(s,l=>n.jsx(b,{present:o||a.open,children:n.jsx(se,{asChild:!0,container:r,children:l})}))})};T.displayName=C;var x="DialogOverlay",A=i.forwardRef((e,t)=>{const o=I(x,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(x,e.__scopeDialog);return a.modal?n.jsx(b,{present:s||a.open,children:n.jsx(ce,{...r,ref:t})}):null});A.displayName=x;var ce=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(x,o);return n.jsx(ee,{as:_,allowPinchZoom:!0,shards:[r.contentRef],children:n.jsx(m.div,{"data-state":j(r.open),...s,ref:t,style:{pointerEvents:"auto",...s.style}})})}),u="DialogContent",M=i.forwardRef((e,t)=>{const o=I(u,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(u,e.__scopeDialog);return n.jsx(b,{present:s||a.open,children:a.modal?n.jsx(de,{...r,ref:t}):n.jsx(ue,{...r,ref:t})})});M.displayName=u;var de=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(null),r=y(t,o.contentRef,s);return i.useEffect(()=>{const a=s.current;if(a)return te(a)},[]),n.jsx(F,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:p(e.onCloseAutoFocus,a=>{a.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:p(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&a.preventDefault()}),onFocusOutside:p(e.onFocusOutside,a=>a.preventDefault())})}),ue=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(!1),r=i.useRef(!1);return n.jsx(F,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(s.current||o.triggerRef.current?.focus(),a.preventDefault()),s.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(s.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const l=a.target;o.triggerRef.current?.contains(l)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),F=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:a,...l}=e,c=d(u,o),g=i.useRef(null),v=y(t,g);return oe(),n.jsxs(n.Fragment,{children:[n.jsx(ae,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:a,children:n.jsx(ne,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":j(c.open),...l,ref:v,onDismiss:()=>c.onOpenChange(!1)})}),n.jsxs(n.Fragment,{children:[n.jsx(fe,{titleId:c.titleId}),n.jsx(pe,{contentRef:g,descriptionId:c.descriptionId})]})]})}),R="DialogTitle",S=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(R,o);return n.jsx(m.h2,{id:r.titleId,...s,ref:t})});S.displayName=R;var k="DialogDescription",$=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(k,o);return n.jsx(m.p,{id:r.descriptionId,...s,ref:t})});$.displayName=k;var W="DialogClose",G=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(W,o);return n.jsx(m.button,{type:"button",...s,ref:t,onClick:p(e.onClick,()=>r.onOpenChange(!1))})});G.displayName=W;function j(e){return e?"open":"closed"}var L="DialogTitleWarning",[Te,z]=Q(L,{contentName:u,titleName:R,docsSlug:"dialog"}),fe=({titleId:e})=>{const t=z(L),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.

View File

@ -1,4 +1,4 @@
import{c as vt}from"./user-nav-BBmBVa03.js";import{r as M,j as u,a as B}from"./index-_xd8OyP8.js";import{h as Oe}from"./button-DhrtVlOa.js";import{g as yt,h as gt}from"./react-icons.esm-rZq2pt7A.js";/**
import{c as vt}from"./user-nav-Ch7kI57y.js";import{r as M,j as u,a as B}from"./index-ra1jmRmU.js";import{h as Oe}from"./button-BkBuHKqj.js";import{g as yt,h as gt}from"./react-icons.esm-BRv52UVg.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{r as s,j as d,a as t}from"./index-_xd8OyP8.js";const o=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("rounded-xl border bg-card text-card-foreground shadow",a),...e}));o.displayName="Card";const c=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex flex-col space-y-1.5 p-6",a),...e}));c.displayName="CardHeader";const i=s.forwardRef(({className:a,...e},r)=>d.jsx("h3",{ref:r,className:t("font-semibold leading-none tracking-tight",a),...e}));i.displayName="CardTitle";const n=s.forwardRef(({className:a,...e},r)=>d.jsx("p",{ref:r,className:t("text-sm text-muted-foreground",a),...e}));n.displayName="CardDescription";const l=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("p-6 pt-0",a),...e}));l.displayName="CardContent";const f=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex items-center p-6 pt-0",a),...e}));f.displayName="CardFooter";export{o as C,c as a,i as b,l as c,n as d};
import{r as s,j as d,a as t}from"./index-ra1jmRmU.js";const o=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("rounded-xl border bg-card text-card-foreground shadow",a),...e}));o.displayName="Card";const c=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex flex-col space-y-1.5 p-6",a),...e}));c.displayName="CardHeader";const i=s.forwardRef(({className:a,...e},r)=>d.jsx("h3",{ref:r,className:t("font-semibold leading-none tracking-tight",a),...e}));i.displayName="CardTitle";const n=s.forwardRef(({className:a,...e},r)=>d.jsx("p",{ref:r,className:t("text-sm text-muted-foreground",a),...e}));n.displayName="CardDescription";const l=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("p-6 pt-0",a),...e}));l.displayName="CardContent";const f=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex items-center p-6 pt-0",a),...e}));f.displayName="CardFooter";export{o as C,c as a,i as b,l as c,n as d};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as n,j as c,v as O}from"./index-_xd8OyP8.js";import{c as T,u as S,a as D,b as M}from"./index-BwSRHYe4.js";import{P as m}from"./index-CX6PQ3zO.js";import{u as $,P as L}from"./index-CcyXqhZ9.js";var v="Collapsible",[k,K]=T(v),[F,g]=k(v),j=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,open:s,defaultOpen:t,disabled:l,onOpenChange:i,...f}=e,[p=!1,d]=S({prop:s,defaultProp:t,onChange:i});return c.jsx(F,{scope:r,disabled:l,contentId:$(),open:p,onOpenToggle:n.useCallback(()=>d(C=>!C),[d]),children:c.jsx(m.div,{"data-state":R(p),"data-disabled":l?"":void 0,...f,ref:a})})});j.displayName=v;var w="CollapsibleTrigger",A=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,...s}=e,t=g(w,r);return c.jsx(m.button,{type:"button","aria-controls":t.contentId,"aria-expanded":t.open||!1,"data-state":R(t.open),"data-disabled":t.disabled?"":void 0,disabled:t.disabled,...s,ref:a,onClick:D(e.onClick,t.onOpenToggle)})});A.displayName=w;var x="CollapsibleContent",I=n.forwardRef((e,a)=>{const{forceMount:r,...s}=e,t=g(x,e.__scopeCollapsible);return c.jsx(L,{present:r||t.open,children:({present:l})=>c.jsx(B,{...s,ref:a,present:l})})});I.displayName=x;var B=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,present:s,children:t,...l}=e,i=g(x,r),[f,p]=n.useState(s),d=n.useRef(null),C=O(a,d),h=n.useRef(0),P=h.current,y=n.useRef(0),N=y.current,b=i.open||f,E=n.useRef(b),u=n.useRef(void 0);return n.useEffect(()=>{const o=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(o)},[]),M(()=>{const o=d.current;if(o){u.current=u.current||{transitionDuration:o.style.transitionDuration,animationName:o.style.animationName},o.style.transitionDuration="0s",o.style.animationName="none";const _=o.getBoundingClientRect();h.current=_.height,y.current=_.width,E.current||(o.style.transitionDuration=u.current.transitionDuration,o.style.animationName=u.current.animationName),p(s)}},[i.open,s]),c.jsx(m.div,{"data-state":R(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!b,...l,ref:C,style:{"--radix-collapsible-content-height":P?`${P}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:b&&t})});function R(e){return e?"open":"closed"}var G=j;const Q=G,U=A,V=I;export{Q as C,U as a,V as b};
import{r as n,j as c,v as O}from"./index-ra1jmRmU.js";import{c as T,u as S,a as D,b as M}from"./index-OwEZQf1t.js";import{P as m}from"./index-QSXu8nGm.js";import{u as $,P as L}from"./index-CmmzV1O3.js";var v="Collapsible",[k,K]=T(v),[F,g]=k(v),j=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,open:s,defaultOpen:t,disabled:l,onOpenChange:i,...f}=e,[p=!1,d]=S({prop:s,defaultProp:t,onChange:i});return c.jsx(F,{scope:r,disabled:l,contentId:$(),open:p,onOpenToggle:n.useCallback(()=>d(C=>!C),[d]),children:c.jsx(m.div,{"data-state":R(p),"data-disabled":l?"":void 0,...f,ref:a})})});j.displayName=v;var w="CollapsibleTrigger",A=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,...s}=e,t=g(w,r);return c.jsx(m.button,{type:"button","aria-controls":t.contentId,"aria-expanded":t.open||!1,"data-state":R(t.open),"data-disabled":t.disabled?"":void 0,disabled:t.disabled,...s,ref:a,onClick:D(e.onClick,t.onOpenToggle)})});A.displayName=w;var x="CollapsibleContent",I=n.forwardRef((e,a)=>{const{forceMount:r,...s}=e,t=g(x,e.__scopeCollapsible);return c.jsx(L,{present:r||t.open,children:({present:l})=>c.jsx(B,{...s,ref:a,present:l})})});I.displayName=x;var B=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,present:s,children:t,...l}=e,i=g(x,r),[f,p]=n.useState(s),d=n.useRef(null),C=O(a,d),h=n.useRef(0),P=h.current,y=n.useRef(0),N=y.current,b=i.open||f,E=n.useRef(b),u=n.useRef(void 0);return n.useEffect(()=>{const o=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(o)},[]),M(()=>{const o=d.current;if(o){u.current=u.current||{transitionDuration:o.style.transitionDuration,animationName:o.style.animationName},o.style.transitionDuration="0s",o.style.animationName="none";const _=o.getBoundingClientRect();h.current=_.height,y.current=_.width,E.current||(o.style.transitionDuration=u.current.transitionDuration,o.style.animationName=u.current.animationName),p(s)}},[i.open,s]),c.jsx(m.div,{"data-state":R(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!b,...l,ref:C,style:{"--radix-collapsible-content-height":P?`${P}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:b&&t})});function R(e){return e?"open":"closed"}var G=j;const Q=G,U=A,V=I;export{Q as C,U as a,V as b};

View File

@ -1,4 +1,4 @@
import{r as P,j as S,a as V,B as L,x as He}from"./index-_xd8OyP8.js";import{i as Ae,g as Ge,h as Le,j as je}from"./react-icons.esm-rZq2pt7A.js";import{I as ze}from"./input-d0vtE30O.js";import{S as Ne,a as Oe,b as Te,c as Be,d as ke}from"./select-Cqkdx-UJ.js";import{T as ue,a as ae,b as ge,c as de}from"./tooltip-B58e4dA7.js";import{c as Se}from"./user-nav-BBmBVa03.js";import{A as qe,a as Ue}from"./arrow-up-9fLptvj0.js";/**
import{r as P,j as S,a as V,B as L,x as He}from"./index-ra1jmRmU.js";import{i as Ae,g as Ge,h as Le,j as je}from"./react-icons.esm-BRv52UVg.js";import{I as ze}from"./input-BJSapCFH.js";import{S as Ne,a as Oe,b as Te,c as Be,d as ke}from"./select-ar7QGfF7.js";import{T as ue,a as ae,b as ge,c as de}from"./tooltip-uHmd8Pkm.js";import{c as Se}from"./user-nav-Ch7kI57y.js";import{A as qe,a as Ue}from"./arrow-up-Cu4ezgY6.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{d as f,C as l}from"./clipboard-YH5zrf5X.js";import{t as s}from"./index-_xd8OyP8.js";const a=r=>r;function u(r=void 0,o="YYYY-MM-DD HH:mm:ss"){return r==null?"":(Math.floor(r).toString().length===10&&(r=r*1e3),f(r).format(o))}function b(r=void 0,o="YYYY-MM-DD"){return u(r,o)}function e(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":o.toFixed(2)}function p(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":(o/100).toFixed(2)}function D(r){navigator.clipboard?navigator.clipboard.writeText(r).then(()=>{s.success(a("复制成功"))}).catch(o=>{console.error("复制到剪贴板时出错:",o),i(r)}):i(r)}function i(r){const o=document.createElement("button"),t=new l(o,{text:()=>r});t.on("success",()=>{s.success(a("复制成功")),t.destroy()}),t.on("error",()=>{s.error(a("复制失败")),t.destroy()}),o.click()}function T(r){const o=r/1024,t=o/1024,n=t/1024,c=n/1024;return c>=1?e(c)+" TB":n>=1?e(n)+" GB":t>=1?e(t)+" MB":e(o)+" KB"}export{u as a,T as b,D as c,e as d,b as e,p as f};
import{d as f,C as l}from"./clipboard-Bl2zvJsv.js";import{t as s}from"./index-ra1jmRmU.js";const a=r=>r;function u(r=void 0,o="YYYY-MM-DD HH:mm:ss"){return r==null?"":(Math.floor(r).toString().length===10&&(r=r*1e3),f(r).format(o))}function b(r=void 0,o="YYYY-MM-DD"){return u(r,o)}function e(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":o.toFixed(2)}function p(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":(o/100).toFixed(2)}function D(r){navigator.clipboard?navigator.clipboard.writeText(r).then(()=>{s.success(a("复制成功"))}).catch(o=>{console.error("复制到剪贴板时出错:",o),i(r)}):i(r)}function i(r){const o=document.createElement("button"),t=new l(o,{text:()=>r});t.on("success",()=>{s.success(a("复制成功")),t.destroy()}),t.on("error",()=>{s.error(a("复制失败")),t.destroy()}),o.click()}function T(r){const o=r/1024,t=o/1024,n=t/1024,c=n/1024;return c>=1?e(c)+" TB":n>=1?e(n)+" GB":t>=1?e(t)+" MB":e(o)+" KB"}export{u as a,T as b,D as c,e as d,b as e,p as f};

View File

@ -1 +1 @@
import{c as s,j as e}from"./index-_xd8OyP8.js";import{I as i,a as t,b as a,c as r}from"./IconTicket-COhvkaJH.js";var c=s("brand-telegram","IconBrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),n=s("building","IconBuilding",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M9 8l1 0",key:"svg-1"}],["path",{d:"M9 12l1 0",key:"svg-2"}],["path",{d:"M9 16l1 0",key:"svg-3"}],["path",{d:"M14 8l1 0",key:"svg-4"}],["path",{d:"M14 12l1 0",key:"svg-5"}],["path",{d:"M14 16l1 0",key:"svg-6"}],["path",{d:"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16",key:"svg-7"}]]),o=s("mail","IconMail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),l=s("user-circle","IconUserCircle",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0",key:"svg-1"}],["path",{d:"M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855",key:"svg-2"}]]);const y=[{title:"站点设置",key:"site",icon:e.jsx(n,{size:18}),href:"/config/system",description:"配置站点基本信息,包括站点名称、描述、货币单位等核心设置。"},{title:"安全设置",key:"safe",icon:e.jsx(i,{size:18}),href:"/config/system/safe",description:"配置系统安全相关选项包括登录验证、密码策略、API访问等安全设置。"},{title:"订阅设置",key:"subscribe",icon:e.jsx(t,{size:18}),href:"/config/system/subscribe",description:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"},{title:"邀请&佣金",key:"invite",icon:e.jsx(l,{size:18}),href:"/config/system/invite",description:"管理用户邀请和佣金系统,配置邀请奖励、分销规则等。"},{title:"节点配置",key:"server",icon:e.jsx(a,{size:18}),href:"/config/system/server",description:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"},{title:"邮件设置",key:"email",icon:e.jsx(o,{size:18}),href:"/config/system/email",description:"配置系统邮件服务用于发送验证码、密码重置、通知等邮件支持多种SMTP服务商。"},{title:"Telegram设置",key:"telegram",icon:e.jsx(c,{size:18}),href:"/config/system/telegram",description:"配置Telegram机器人功能实现用户通知、账户绑定、指令交互等自动化服务。"},{title:"APP设置",key:"app",icon:e.jsx(r,{size:18}),href:"/config/system/app",description:"管理移动应用程序相关配置包括API接口、版本控制、推送通知等功能设置。"}];export{y as S};
import{c as s,j as e}from"./index-ra1jmRmU.js";import{I as i,a as t,b as a,c as r}from"./IconTicket-s_6DwrCY.js";var c=s("brand-telegram","IconBrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),n=s("building","IconBuilding",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M9 8l1 0",key:"svg-1"}],["path",{d:"M9 12l1 0",key:"svg-2"}],["path",{d:"M9 16l1 0",key:"svg-3"}],["path",{d:"M14 8l1 0",key:"svg-4"}],["path",{d:"M14 12l1 0",key:"svg-5"}],["path",{d:"M14 16l1 0",key:"svg-6"}],["path",{d:"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16",key:"svg-7"}]]),o=s("mail","IconMail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),l=s("user-circle","IconUserCircle",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0",key:"svg-1"}],["path",{d:"M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855",key:"svg-2"}]]);const y=[{title:"站点设置",key:"site",icon:e.jsx(n,{size:18}),href:"/config/system",description:"配置站点基本信息,包括站点名称、描述、货币单位等核心设置。"},{title:"安全设置",key:"safe",icon:e.jsx(i,{size:18}),href:"/config/system/safe",description:"配置系统安全相关选项包括登录验证、密码策略、API访问等安全设置。"},{title:"订阅设置",key:"subscribe",icon:e.jsx(t,{size:18}),href:"/config/system/subscribe",description:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"},{title:"邀请&佣金",key:"invite",icon:e.jsx(l,{size:18}),href:"/config/system/invite",description:"管理用户邀请和佣金系统,配置邀请奖励、分销规则等。"},{title:"节点配置",key:"server",icon:e.jsx(a,{size:18}),href:"/config/system/server",description:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"},{title:"邮件设置",key:"email",icon:e.jsx(o,{size:18}),href:"/config/system/email",description:"配置系统邮件服务用于发送验证码、密码重置、通知等邮件支持多种SMTP服务商。"},{title:"Telegram设置",key:"telegram",icon:e.jsx(c,{size:18}),href:"/config/system/telegram",description:"配置Telegram机器人功能实现用户通知、账户绑定、指令交互等自动化服务。"},{title:"APP设置",key:"app",icon:e.jsx(r,{size:18}),href:"/config/system/app",description:"管理移动应用程序相关配置包括API接口、版本控制、推送通知等功能设置。"}];export{y as S};

View File

@ -1,4 +1,4 @@
import{r as l,j as o,v as A,y as q,a as i,B as u}from"./index-_xd8OyP8.js";import{c as J,a as K}from"./index-BwSRHYe4.js";import{i as x,T as Q,O as U,W as X,C as Z,j as ee,k as ae,l as D,R as te,P as oe,h as v}from"./button-DhrtVlOa.js";var N="AlertDialog",[re,ye]=J(N,[x]),n=x(),y=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(te,{...r,...t,modal:!0})};y.displayName=N;var se="AlertDialogTrigger",j=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(Q,{...s,...r,ref:a})});j.displayName=se;var le="AlertDialogPortal",h=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(oe,{...r,...t})};h.displayName=le;var ie="AlertDialogOverlay",R=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(U,{...s,...r,ref:a})});R.displayName=ie;var d="AlertDialogContent",[ne,ce]=re(d),C=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,children:r,...s}=e,p=n(t),c=l.useRef(null),m=A(a,c),f=l.useRef(null);return o.jsx(X,{contentName:d,titleName:_,docsSlug:"alert-dialog",children:o.jsx(ne,{scope:t,cancelRef:f,children:o.jsxs(Z,{role:"alertdialog",...p,...s,ref:m,onOpenAutoFocus:K(s.onOpenAutoFocus,g=>{g.preventDefault(),f.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[o.jsx(q,{children:r}),o.jsx(pe,{contentRef:c})]})})})});C.displayName=d;var _="AlertDialogTitle",w=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ee,{...s,...r,ref:a})});w.displayName=_;var E="AlertDialogDescription",b=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ae,{...s,...r,ref:a})});b.displayName=E;var de="AlertDialogAction",P=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(D,{...s,...r,ref:a})});P.displayName=de;var T="AlertDialogCancel",S=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,{cancelRef:s}=ce(T,t),p=n(t),c=A(a,s);return o.jsx(D,{...p,...r,ref:c})});S.displayName=T;var pe=({contentRef:e})=>{const a=`\`${d}\` requires a description for the component to be accessible for screen reader users.
import{r as l,j as o,v as A,y as q,a as i,B as u}from"./index-ra1jmRmU.js";import{c as J,a as K}from"./index-OwEZQf1t.js";import{i as x,T as Q,O as U,W as X,C as Z,j as ee,k as ae,l as D,R as te,P as oe,h as v}from"./button-BkBuHKqj.js";var N="AlertDialog",[re,ye]=J(N,[x]),n=x(),y=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(te,{...r,...t,modal:!0})};y.displayName=N;var se="AlertDialogTrigger",j=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(Q,{...s,...r,ref:a})});j.displayName=se;var le="AlertDialogPortal",h=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(oe,{...r,...t})};h.displayName=le;var ie="AlertDialogOverlay",R=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(U,{...s,...r,ref:a})});R.displayName=ie;var d="AlertDialogContent",[ne,ce]=re(d),C=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,children:r,...s}=e,p=n(t),c=l.useRef(null),m=A(a,c),f=l.useRef(null);return o.jsx(X,{contentName:d,titleName:_,docsSlug:"alert-dialog",children:o.jsx(ne,{scope:t,cancelRef:f,children:o.jsxs(Z,{role:"alertdialog",...p,...s,ref:m,onOpenAutoFocus:K(s.onOpenAutoFocus,g=>{g.preventDefault(),f.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[o.jsx(q,{children:r}),o.jsx(pe,{contentRef:c})]})})})});C.displayName=d;var _="AlertDialogTitle",w=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ee,{...s,...r,ref:a})});w.displayName=_;var E="AlertDialogDescription",b=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ae,{...s,...r,ref:a})});b.displayName=E;var de="AlertDialogAction",P=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(D,{...s,...r,ref:a})});P.displayName=de;var T="AlertDialogCancel",S=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,{cancelRef:s}=ce(T,t),p=n(t),c=A(a,s);return o.jsx(D,{...p,...r,ref:c})});S.displayName=T;var pe=({contentRef:e})=>{const a=`\`${d}\` requires a description for the component to be accessible for screen reader users.
You can add a description to the \`${d}\` by passing a \`${E}\` component as a child, which also benefits sighted users by adding visible context to the dialog.

View File

@ -1,4 +1,4 @@
import{c}from"./user-nav-BBmBVa03.js";/**
import{c}from"./user-nav-Ch7kI57y.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{e as d,u as m,r as h,j as e,a as r,L as p,g as f,O as j}from"./index-_xd8OyP8.js";import{S as u,T as g,U as N}from"./user-nav-BBmBVa03.js";import{S as v}from"./separator-lX8UNwTG.js";import{L as S,f as y,g as b}from"./sidelinks-DLs_k-Mk.js";import{S as w,a as L,b as T,c as k,d as E}from"./select-Cqkdx-UJ.js";import{S as V}from"./config-BDd6elvr.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./button-DhrtVlOa.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";function H({className:t,items:a,...c}){const{pathname:l}=d(),i=m(),[n,o]=h.useState(l??"/settings"),x=s=>{o(s),i(s)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(w,{value:n,onValueChange:x,children:[e.jsx(L,{className:"h-12 sm:w-48",children:e.jsx(T,{placeholder:"Theme"})}),e.jsx(k,{children:a.map(s=>e.jsx(E,{value:s.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:s.icon}),e.jsx("span",{className:"text-md",children:s.title})]})},s.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:r("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",t),...c,children:a.map(s=>e.jsxs(p,{to:s.href,className:r(f({variant:"ghost"}),l===s.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:s.icon}),s.title]},s.href))})})]})}function J(){return e.jsxs(S,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(y,{children:[e.jsx(u,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(g,{}),e.jsx(N,{})]})]}),e.jsxs(b,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"系统设置"}),e.jsx("p",{className:"text-muted-foreground",children:"管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置"})]}),e.jsx(v,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(H,{items:V})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(j,{})})})]})]})]})}export{J as default};
import{e as d,u as m,r as h,j as e,a as r,L as p,g as f,O as j}from"./index-ra1jmRmU.js";import{S as u,T as g,U as N}from"./user-nav-Ch7kI57y.js";import{S as v}from"./separator-Ckt7QEUw.js";import{L as S,f as y,g as b}from"./sidelinks-B70MVRK0.js";import{S as w,a as L,b as T,c as k,d as E}from"./select-ar7QGfF7.js";import{S as V}from"./config-BH6RmWlb.js";import"./react-icons.esm-BRv52UVg.js";import"./index-CmmzV1O3.js";import"./index-OwEZQf1t.js";import"./index-QSXu8nGm.js";import"./button-BkBuHKqj.js";import"./index-NvRyusV4.js";import"./IconTicket-s_6DwrCY.js";import"./index-DGqrqZGX.js";import"./index-DBonxKbv.js";function H({className:t,items:a,...c}){const{pathname:l}=d(),i=m(),[n,o]=h.useState(l??"/settings"),x=s=>{o(s),i(s)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(w,{value:n,onValueChange:x,children:[e.jsx(L,{className:"h-12 sm:w-48",children:e.jsx(T,{placeholder:"Theme"})}),e.jsx(k,{children:a.map(s=>e.jsx(E,{value:s.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:s.icon}),e.jsx("span",{className:"text-md",children:s.title})]})},s.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:r("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",t),...c,children:a.map(s=>e.jsxs(p,{to:s.href,className:r(f({variant:"ghost"}),l===s.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:s.icon}),s.title]},s.href))})})]})}function J(){return e.jsxs(S,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(y,{children:[e.jsx(u,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(g,{}),e.jsx(N,{})]})]}),e.jsxs(b,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"系统设置"}),e.jsx("p",{className:"text-muted-foreground",children:"管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置"})]}),e.jsx(v,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(H,{items:V})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(j,{})})})]})]})]})}export{J as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as j,j as e,a as f,g as p,B as b,t as _}from"./index-_xd8OyP8.js";import{S as g}from"./separator-lX8UNwTG.js";import{z as s,t as v}from"./zod-x_8lkCGK.js";import{C as F}from"./react-icons.esm-rZq2pt7A.js";import{u as N,F as S,a as t,b as o,c as a,f as l,d as c,e as m}from"./form-DIzSOdtk.js";import{I as y}from"./input-d0vtE30O.js";import{S as h}from"./switch-w5WyeRwk.js";import{u as C}from"./useQuery-mr7Ep0hT.js";import{e as k,s as w}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const E=s.object({frontend_theme:s.string().nullable(),frontend_theme_sidebar:s.string().nullable(),frontend_theme_header:s.string().nullable(),frontend_theme_color:s.string().nullable(),frontend_background_url:s.string().url().nullable()}),I={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function V(){const{data:d}=C({queryKey:["settings","frontend"],queryFn:()=>k("frontend")}),r=N({resolver:v(E),defaultValues:I,mode:"onChange"});j.useEffect(()=>{if(d?.data?.frontend){const n=d?.data?.frontend;Object.entries(n).forEach(([i,u])=>{r.setValue(i,u)})}},[d]);function x(n){w(n).then(({data:i})=>{i&&_.success("更新成功")})}return e.jsx(S,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(x),className:"space-y-8",children:[e.jsx(t,{control:r.control,name:"frontend_theme_sidebar",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"边栏风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_header",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"头部风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_color",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(c,{children:e.jsxs("select",{className:f(p({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(F,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(l,{children:"主题色"}),e.jsx(m,{})]})}),e.jsx(t,{control:r.control,name:"frontend_background_url",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"背景"}),e.jsx(c,{children:e.jsx(y,{placeholder:"请输入图片地址",...n})}),e.jsx(l,{children:"将会在后台登录页面进行展示。"}),e.jsx(m,{})]})}),e.jsx(b,{type:"submit",children:"保存设置"})]})})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(g,{}),e.jsx(V,{})]})}export{P as default};
import{r as j,j as e,a as f,g as p,B as b,t as _}from"./index-ra1jmRmU.js";import{S as g}from"./separator-Ckt7QEUw.js";import{z as s,t as v}from"./zod-DftZp2aV.js";import{C as F}from"./react-icons.esm-BRv52UVg.js";import{u as N,F as S,a as t,b as o,c as a,f as l,d as c,e as m}from"./form-BdPgCkkB.js";import{I as y}from"./input-BJSapCFH.js";import{S as h}from"./switch-koO8JJ-3.js";import{u as C}from"./useQuery-BPONQpNy.js";import{e as k,s as w}from"./index-vL3ySUIK.js";import"./index-QSXu8nGm.js";import"./index-OwEZQf1t.js";import"./index-DGqrqZGX.js";import"./index-NvRyusV4.js";import"./clipboard-Bl2zvJsv.js";const E=s.object({frontend_theme:s.string().nullable(),frontend_theme_sidebar:s.string().nullable(),frontend_theme_header:s.string().nullable(),frontend_theme_color:s.string().nullable(),frontend_background_url:s.string().url().nullable()}),I={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function V(){const{data:d}=C({queryKey:["settings","frontend"],queryFn:()=>k("frontend")}),r=N({resolver:v(E),defaultValues:I,mode:"onChange"});j.useEffect(()=>{if(d?.data?.frontend){const n=d?.data?.frontend;Object.entries(n).forEach(([i,u])=>{r.setValue(i,u)})}},[d]);function x(n){w(n).then(({data:i})=>{i&&_.success("更新成功")})}return e.jsx(S,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(x),className:"space-y-8",children:[e.jsx(t,{control:r.control,name:"frontend_theme_sidebar",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"边栏风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_header",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"头部风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_color",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(c,{children:e.jsxs("select",{className:f(p({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(F,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(l,{children:"主题色"}),e.jsx(m,{})]})}),e.jsx(t,{control:r.control,name:"frontend_background_url",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"背景"}),e.jsx(c,{children:e.jsx(y,{placeholder:"请输入图片地址",...n})}),e.jsx(l,{children:"将会在后台登录页面进行展示。"}),e.jsx(m,{})]})}),e.jsx(b,{type:"submit",children:"保存设置"})]})})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(g,{}),e.jsx(V,{})]})}export{P as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as k,j as e,B as d,t as g}from"./index-_xd8OyP8.js";import{S as F}from"./separator-lX8UNwTG.js";import{z as o,t as S}from"./zod-x_8lkCGK.js";import{u as v,F as y,a as x,b as a,c as n,d as c,f as l,e as m}from"./form-DIzSOdtk.js";import{I as h}from"./input-d0vtE30O.js";import{S as T}from"./switch-w5WyeRwk.js";import{u as C}from"./useQuery-mr7Ep0hT.js";import{u}from"./useMutation-COSDFEtn.js";import{e as E,s as W,i as B}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const I=o.object({telegram_bot_enable:o.boolean().nullable(),telegram_bot_token:o.string().nullable(),telegram_discuss_link:o.string().nullable()}),K={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function N(){const s=v({resolver:S(I),defaultValues:K,mode:"onChange"}),{data:i}=C({queryKey:["settings","telegram"],queryFn:()=>E("telegram")});k.useEffect(()=>{if(i?.data.telegram){const t=i.data.telegram;Object.entries(t).forEach(([r,_])=>{s.setValue(r,_)})}},[i]);const{mutate:j,status:p}=u({mutationFn:t=>W(t).then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","telegram"]}),{mutate:b,status:f}=u({mutationFn:t=>B().then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","settelegramWebhook"]});return e.jsxs(y,{...s,children:[e.jsx(x,{control:s.control,name:"telegram_bot_token",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"机器人Token"}),e.jsx(c,{children:e.jsx(h,{placeholder:"0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",...t})}),e.jsx(l,{children:"请输入由Botfather提供的token。"}),e.jsx(m,{})]})}),s.watch("telegram_bot_token")&&e.jsxs(a,{children:[e.jsx(n,{children:"设置Webhook"}),e.jsx("div",{children:e.jsx(d,{loading:f=="pending",onClick:()=>{b()},children:"一键设置"})}),e.jsx(l,{children:"对机器人进行Webhook设置不设置将无法收到Telegram通知。"}),e.jsx(m,{})]}),e.jsx(x,{control:s.control,name:"telegram_bot_enable",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"开启机器人通知"}),e.jsx(l,{children:"开启后bot将会对绑定了telegram的管理员和用户进行基础通知。"}),e.jsx(c,{children:e.jsx(T,{checked:t.value,onCheckedChange:t.onChange})}),e.jsx(m,{})]})}),e.jsx(x,{control:s.control,name:"telegram_discuss_link",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"群组地址"}),e.jsx(c,{children:e.jsx(h,{placeholder:"https://t.me/xxxxxx",...t})}),e.jsx(l,{children:"填写后将会在用户端展示,或者被用于需要的地方。"}),e.jsx(m,{})]})}),e.jsx(d,{type:"submit",loading:p==="pending",onClick:()=>{s.handleSubmit(t=>{console.log(t),j(t)})()},children:"保存设置"})]})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"Telegram设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置Telegram机器人功能实现用户通知、账户绑定、指令交互等自动化服务。"})]}),e.jsx(F,{}),e.jsx(N,{})]})}export{P as default};
import{r as k,j as e,B as d,t as g}from"./index-ra1jmRmU.js";import{S as F}from"./separator-Ckt7QEUw.js";import{z as o,t as S}from"./zod-DftZp2aV.js";import{u as v,F as y,a as x,b as a,c as n,d as c,f as l,e as m}from"./form-BdPgCkkB.js";import{I as h}from"./input-BJSapCFH.js";import{S as T}from"./switch-koO8JJ-3.js";import{u as C}from"./useQuery-BPONQpNy.js";import{u}from"./useMutation-CAQi7k46.js";import{e as E,s as W,j as B}from"./index-vL3ySUIK.js";import"./index-QSXu8nGm.js";import"./index-OwEZQf1t.js";import"./index-DGqrqZGX.js";import"./index-NvRyusV4.js";import"./clipboard-Bl2zvJsv.js";const I=o.object({telegram_bot_enable:o.boolean().nullable(),telegram_bot_token:o.string().nullable(),telegram_discuss_link:o.string().nullable()}),K={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function N(){const s=v({resolver:S(I),defaultValues:K,mode:"onChange"}),{data:i}=C({queryKey:["settings","telegram"],queryFn:()=>E("telegram")});k.useEffect(()=>{if(i?.data.telegram){const t=i.data.telegram;Object.entries(t).forEach(([r,_])=>{s.setValue(r,_)})}},[i]);const{mutate:j,status:p}=u({mutationFn:t=>W(t).then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","telegram"]}),{mutate:b,status:f}=u({mutationFn:t=>B().then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","settelegramWebhook"]});return e.jsxs(y,{...s,children:[e.jsx(x,{control:s.control,name:"telegram_bot_token",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"机器人Token"}),e.jsx(c,{children:e.jsx(h,{placeholder:"0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",...t})}),e.jsx(l,{children:"请输入由Botfather提供的token。"}),e.jsx(m,{})]})}),s.watch("telegram_bot_token")&&e.jsxs(a,{children:[e.jsx(n,{children:"设置Webhook"}),e.jsx("div",{children:e.jsx(d,{loading:f=="pending",onClick:()=>{b()},children:"一键设置"})}),e.jsx(l,{children:"对机器人进行Webhook设置不设置将无法收到Telegram通知。"}),e.jsx(m,{})]}),e.jsx(x,{control:s.control,name:"telegram_bot_enable",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"开启机器人通知"}),e.jsx(l,{children:"开启后bot将会对绑定了telegram的管理员和用户进行基础通知。"}),e.jsx(c,{children:e.jsx(T,{checked:t.value,onCheckedChange:t.onChange})}),e.jsx(m,{})]})}),e.jsx(x,{control:s.control,name:"telegram_discuss_link",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"群组地址"}),e.jsx(c,{children:e.jsx(h,{placeholder:"https://t.me/xxxxxx",...t})}),e.jsx(l,{children:"填写后将会在用户端展示,或者被用于需要的地方。"}),e.jsx(m,{})]})}),e.jsx(d,{type:"submit",loading:p==="pending",onClick:()=>{s.handleSubmit(t=>{console.log(t),j(t)})()},children:"保存设置"})]})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"Telegram设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置Telegram机器人功能实现用户通知、账户绑定、指令交互等自动化服务。"})]}),e.jsx(F,{}),e.jsx(N,{})]})}export{P as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as h,j as e,B as p,t as v}from"./index-_xd8OyP8.js";import{S as f}from"./separator-lX8UNwTG.js";import{z as t,t as _}from"./zod-x_8lkCGK.js";import{u as b,F,a,b as l,c,d as i,f as m,e as d}from"./form-DIzSOdtk.js";import{I as u}from"./input-d0vtE30O.js";import{u as g}from"./useQuery-mr7Ep0hT.js";import{e as S,s as y}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const E=t.object({server_pull_interval:t.coerce.number().nullable(),server_push_interval:t.coerce.number().nullable(),server_token:t.string().nullable()}),N={server_pull_interval:0,server_push_interval:0,server_token:""};function k(){const s=b({resolver:_(E),defaultValues:N,mode:"onChange"}),{data:n}=g({queryKey:["settings","server"],queryFn:()=>S("server")});h.useEffect(()=>{if(n?.data.server){const r=n.data.server;Object.entries(r).forEach(([o,j])=>{s.setValue(o,j)})}},[n]);function x(r){y(r).then(({data:o})=>{o&&v.success("保存成功")})}return e.jsx(F,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(x),className:"space-y-8",children:[e.jsx(a,{control:s.control,name:"server_token",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"通讯密钥"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"Xboard与节点通讯的密钥以便数据不会被他人获取。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_pull_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点拉取动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点从面板获取数据的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_push_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点推送动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点推送数据到面板的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(p,{type:"submit",children:"保存设置"})]})})}function M(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"节点配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"})]}),e.jsx(f,{}),e.jsx(k,{})]})}export{M as default};
import{r as h,j as e,B as p,t as v}from"./index-ra1jmRmU.js";import{S as f}from"./separator-Ckt7QEUw.js";import{z as t,t as _}from"./zod-DftZp2aV.js";import{u as b,F,a,b as l,c,d as i,f as m,e as d}from"./form-BdPgCkkB.js";import{I as u}from"./input-BJSapCFH.js";import{u as g}from"./useQuery-BPONQpNy.js";import{e as S,s as y}from"./index-vL3ySUIK.js";import"./index-QSXu8nGm.js";import"./clipboard-Bl2zvJsv.js";const E=t.object({server_pull_interval:t.coerce.number().nullable(),server_push_interval:t.coerce.number().nullable(),server_token:t.string().nullable()}),N={server_pull_interval:0,server_push_interval:0,server_token:""};function k(){const s=b({resolver:_(E),defaultValues:N,mode:"onChange"}),{data:n}=g({queryKey:["settings","server"],queryFn:()=>S("server")});h.useEffect(()=>{if(n?.data.server){const r=n.data.server;Object.entries(r).forEach(([o,j])=>{s.setValue(o,j)})}},[n]);function x(r){y(r).then(({data:o})=>{o&&v.success("保存成功")})}return e.jsx(F,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(x),className:"space-y-8",children:[e.jsx(a,{control:s.control,name:"server_token",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"通讯密钥"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"Xboard与节点通讯的密钥以便数据不会被他人获取。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_pull_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点拉取动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点从面板获取数据的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_push_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点推送动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点推送数据到面板的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(p,{type:"submit",children:"保存设置"})]})})}function M(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"节点配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"})]}),e.jsx(f,{}),e.jsx(k,{})]})}export{M as default};

View File

@ -1,4 +1,4 @@
import{j as e,B as z,a as N,r as m,L as ee,e as se}from"./index-_xd8OyP8.js";import{c as ae,C as te,a as le,b as re,d as ne,e as M,f as O,g as ie,S as oe,T as ce,U as de}from"./user-nav-BBmBVa03.js";import{D as V,a as R,b as k,e as C,L as me,f as ue,g as xe}from"./sidelinks-DLs_k-Mk.js";import{B as g,D as u,u as he,g as ge,b as je,c as fe,d as pe,e as Ne,f as ve,a as be}from"./column-header-BLyyjrhJ.js";import{u as Ce}from"./useQuery-mr7Ep0hT.js";import{d as Se,S as K,e as E,f as U,Q as ye,b as we,c as Ie,a as De}from"./react-icons.esm-rZq2pt7A.js";import{I as Ee}from"./input-d0vtE30O.js";import{O as i,o as h,b as f,C as o,c as S,d as y,e as B,f as Pe}from"./index-ngg4RcvF.js";import{P as _e,a as Le,b as Te}from"./popover-C5eiPdqD.js";import{S as $}from"./separator-lX8UNwTG.js";import{O as Fe}from"./order-assign-form-D2gTIMis.js";import{Y as Me,Z as Oe,_ as Ve,$ as A,b as Re}from"./index-BycJudEO.js";import{D as ke,e as Ae,a as Ge,b as He,c as ze,B as D}from"./button-DhrtVlOa.js";import{f as p,a as P}from"./common-BL1VIuho.js";import{T as Ke,a as Ue,b as Be,c as $e}from"./tooltip-B58e4dA7.js";import{u as qe}from"./question-circle-qmgAd7XP.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./arrow-up-9fLptvj0.js";import"./zod-x_8lkCGK.js";import"./form-DIzSOdtk.js";import"./clipboard-YH5zrf5X.js";/**
import{j as e,B as z,a as N,r as m,L as ee,e as se}from"./index-ra1jmRmU.js";import{c as ae,C as te,a as le,b as re,d as ne,e as M,f as O,g as ie,S as oe,T as ce,U as de}from"./user-nav-Ch7kI57y.js";import{D as V,a as R,b as k,e as C,L as me,f as ue,g as xe}from"./sidelinks-B70MVRK0.js";import{B as g,D as u,u as he,g as ge,b as je,c as fe,d as pe,e as Ne,f as ve,a as be}from"./column-header-p2OHlx2E.js";import{u as Ce}from"./useQuery-BPONQpNy.js";import{d as Se,S as K,e as E,f as U,Q as ye,b as we,c as Ie,a as De}from"./react-icons.esm-BRv52UVg.js";import{I as Ee}from"./input-BJSapCFH.js";import{O as i,o as h,b as f,C as o,c as S,d as y,e as B,f as Pe}from"./index-ngg4RcvF.js";import{P as _e,a as Le,b as Te}from"./popover-C64Crl1x.js";import{S as $}from"./separator-Ckt7QEUw.js";import{O as Fe}from"./order-assign-form-SPO5KUlu.js";import{Y as Me,Z as Oe,_ as Ve,$ as A,b as Re}from"./index-vL3ySUIK.js";import{D as ke,e as Ae,a as Ge,b as He,c as ze,B as D}from"./button-BkBuHKqj.js";import{f as p,a as P}from"./common-DR9A_A8_.js";import{T as Ke,a as Ue,b as Be,c as $e}from"./tooltip-uHmd8Pkm.js";import{u as qe}from"./question-circle-DbxGI5ux.js";import"./index-CmmzV1O3.js";import"./index-OwEZQf1t.js";import"./index-QSXu8nGm.js";import"./index-NvRyusV4.js";import"./IconTicket-s_6DwrCY.js";import"./select-ar7QGfF7.js";import"./index-DGqrqZGX.js";import"./index-DBonxKbv.js";import"./arrow-up-Cu4ezgY6.js";import"./zod-DftZp2aV.js";import"./form-BdPgCkkB.js";import"./clipboard-Bl2zvJsv.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{h as en,i as et,r as te,k as Ce,R as C,P as Pe,j as L,u as Ij,a as Dr}from"./index-_xd8OyP8.js";import{c as pn,S as Nj,T as Dj,U as kj}from"./user-nav-BBmBVa03.js";import{L as Lj,f as Rj,g as Bj}from"./sidelinks-DLs_k-Mk.js";import{g as Fj,a as Wj,b as zj,c as Uj,d as yg}from"./index-BycJudEO.js";import{C as fi,a as hi,b as Yi,c as pi}from"./card-6-6NT3wL.js";import{E as Gj}from"./index-DScOlCGV.js";import{C as gg,O as mg}from"./index-ngg4RcvF.js";import{u as bo}from"./useQuery-mr7Ep0hT.js";import{S as Ju}from"./skeleton-Dzu0p8kx.js";import{S as Hj,a as qj,b as Kj,c as Xj,d as Yj}from"./select-Cqkdx-UJ.js";import{B as Vj}from"./button-DhrtVlOa.js";import{s as Zj,a as vs,C as Jj,f as jf,b as Qj}from"./calendar-DHKoWj25.js";import{P as eM,a as tM,b as rM}from"./popover-C5eiPdqD.js";import{A as bg,a as xg}from"./arrow-up-9fLptvj0.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";/**
import{h as en,i as et,r as te,k as Ce,R as C,P as Pe,j as L,u as Ij,a as Dr}from"./index-ra1jmRmU.js";import{c as pn,S as Nj,T as Dj,U as kj}from"./user-nav-Ch7kI57y.js";import{L as Lj,f as Rj,g as Bj}from"./sidelinks-B70MVRK0.js";import{g as Fj,a as Wj,b as zj,c as Uj,d as yg}from"./index-vL3ySUIK.js";import{C as fi,a as hi,b as Yi,c as pi}from"./card-m9i8rs49.js";import{E as Gj}from"./index-D1AQYL1e.js";import{C as gg,O as mg}from"./index-ngg4RcvF.js";import{u as bo}from"./useQuery-BPONQpNy.js";import{S as Ju}from"./skeleton-Dl8LFgxA.js";import{S as Hj,a as qj,b as Kj,c as Xj,d as Yj}from"./select-ar7QGfF7.js";import{B as Vj}from"./button-BkBuHKqj.js";import{s as Zj,a as vs,C as Jj,f as jf,b as Qj}from"./calendar-BSDjNVAZ.js";import{P as eM,a as tM,b as rM}from"./popover-C64Crl1x.js";import{A as bg,a as xg}from"./arrow-up-Cu4ezgY6.js";import"./react-icons.esm-BRv52UVg.js";import"./index-CmmzV1O3.js";import"./index-OwEZQf1t.js";import"./index-QSXu8nGm.js";import"./index-NvRyusV4.js";import"./IconTicket-s_6DwrCY.js";import"./clipboard-Bl2zvJsv.js";import"./index-DGqrqZGX.js";import"./index-DBonxKbv.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{i as d}from"./index-_xd8OyP8.js";var m={exports:{}};(function(w){var g=Object.prototype.hasOwnProperty,u="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(u=!1));function E(s,t,n){this.fn=s,this.context=t,this.once=n||!1}function x(s,t,n,r,l){if(typeof n!="function")throw new TypeError("The listener must be a function");var c=new E(n,r||s,l),o=u?u+t:t;return s._events[o]?s._events[o].fn?s._events[o]=[s._events[o],c]:s._events[o].push(c):(s._events[o]=c,s._eventsCount++),s}function y(s,t){--s._eventsCount===0?s._events=new h:delete s._events[t]}function f(){this._events=new h,this._eventsCount=0}f.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)g.call(n,r)&&t.push(u?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t},f.prototype.listeners=function(t){var n=u?u+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var l=0,c=r.length,o=new Array(c);l<c;l++)o[l]=r[l].fn;return o},f.prototype.listenerCount=function(t){var n=u?u+t:t,r=this._events[n];return r?r.fn?1:r.length:0},f.prototype.emit=function(t,n,r,l,c,o){var a=u?u+t:t;if(!this._events[a])return!1;var e=this._events[a],p=arguments.length,v,i;if(e.fn){switch(e.once&&this.removeListener(t,e.fn,void 0,!0),p){case 1:return e.fn.call(e.context),!0;case 2:return e.fn.call(e.context,n),!0;case 3:return e.fn.call(e.context,n,r),!0;case 4:return e.fn.call(e.context,n,r,l),!0;case 5:return e.fn.call(e.context,n,r,l,c),!0;case 6:return e.fn.call(e.context,n,r,l,c,o),!0}for(i=1,v=new Array(p-1);i<p;i++)v[i-1]=arguments[i];e.fn.apply(e.context,v)}else{var b=e.length,_;for(i=0;i<b;i++)switch(e[i].once&&this.removeListener(t,e[i].fn,void 0,!0),p){case 1:e[i].fn.call(e[i].context);break;case 2:e[i].fn.call(e[i].context,n);break;case 3:e[i].fn.call(e[i].context,n,r);break;case 4:e[i].fn.call(e[i].context,n,r,l);break;default:if(!v)for(_=1,v=new Array(p-1);_<p;_++)v[_-1]=arguments[_];e[i].fn.apply(e[i].context,v)}}return!0},f.prototype.on=function(t,n,r){return x(this,t,n,r,!1)},f.prototype.once=function(t,n,r){return x(this,t,n,r,!0)},f.prototype.removeListener=function(t,n,r,l){var c=u?u+t:t;if(!this._events[c])return this;if(!n)return y(this,c),this;var o=this._events[c];if(o.fn)o.fn===n&&(!l||o.once)&&(!r||o.context===r)&&y(this,c);else{for(var a=0,e=[],p=o.length;a<p;a++)(o[a].fn!==n||l&&!o[a].once||r&&o[a].context!==r)&&e.push(o[a]);e.length?this._events[c]=e.length===1?e[0]:e:y(this,c)}return this},f.prototype.removeAllListeners=function(t){var n;return t?(n=u?u+t:t,this._events[n]&&y(this,n)):(this._events=new h,this._eventsCount=0),this},f.prototype.off=f.prototype.removeListener,f.prototype.addListener=f.prototype.on,f.prefixed=u,f.EventEmitter=f,w.exports=f})(m);var L=m.exports;const O=d(L);export{O as E,L as e};
import{i as d}from"./index-ra1jmRmU.js";var m={exports:{}};(function(w){var g=Object.prototype.hasOwnProperty,u="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(u=!1));function E(s,t,n){this.fn=s,this.context=t,this.once=n||!1}function x(s,t,n,r,l){if(typeof n!="function")throw new TypeError("The listener must be a function");var c=new E(n,r||s,l),o=u?u+t:t;return s._events[o]?s._events[o].fn?s._events[o]=[s._events[o],c]:s._events[o].push(c):(s._events[o]=c,s._eventsCount++),s}function y(s,t){--s._eventsCount===0?s._events=new h:delete s._events[t]}function f(){this._events=new h,this._eventsCount=0}f.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)g.call(n,r)&&t.push(u?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t},f.prototype.listeners=function(t){var n=u?u+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var l=0,c=r.length,o=new Array(c);l<c;l++)o[l]=r[l].fn;return o},f.prototype.listenerCount=function(t){var n=u?u+t:t,r=this._events[n];return r?r.fn?1:r.length:0},f.prototype.emit=function(t,n,r,l,c,o){var a=u?u+t:t;if(!this._events[a])return!1;var e=this._events[a],p=arguments.length,v,i;if(e.fn){switch(e.once&&this.removeListener(t,e.fn,void 0,!0),p){case 1:return e.fn.call(e.context),!0;case 2:return e.fn.call(e.context,n),!0;case 3:return e.fn.call(e.context,n,r),!0;case 4:return e.fn.call(e.context,n,r,l),!0;case 5:return e.fn.call(e.context,n,r,l,c),!0;case 6:return e.fn.call(e.context,n,r,l,c,o),!0}for(i=1,v=new Array(p-1);i<p;i++)v[i-1]=arguments[i];e.fn.apply(e.context,v)}else{var b=e.length,_;for(i=0;i<b;i++)switch(e[i].once&&this.removeListener(t,e[i].fn,void 0,!0),p){case 1:e[i].fn.call(e[i].context);break;case 2:e[i].fn.call(e[i].context,n);break;case 3:e[i].fn.call(e[i].context,n,r);break;case 4:e[i].fn.call(e[i].context,n,r,l);break;default:if(!v)for(_=1,v=new Array(p-1);_<p;_++)v[_-1]=arguments[_];e[i].fn.apply(e[i].context,v)}}return!0},f.prototype.on=function(t,n,r){return x(this,t,n,r,!1)},f.prototype.once=function(t,n,r){return x(this,t,n,r,!0)},f.prototype.removeListener=function(t,n,r,l){var c=u?u+t:t;if(!this._events[c])return this;if(!n)return y(this,c),this;var o=this._events[c];if(o.fn)o.fn===n&&(!l||o.once)&&(!r||o.context===r)&&y(this,c);else{for(var a=0,e=[],p=o.length;a<p;a++)(o[a].fn!==n||l&&!o[a].once||r&&o[a].context!==r)&&e.push(o[a]);e.length?this._events[c]=e.length===1?e[0]:e:y(this,c)}return this},f.prototype.removeAllListeners=function(t){var n;return t?(n=u?u+t:t,this._events[n]&&y(this,n)):(this._events=new h,this._eventsCount=0),this},f.prototype.off=f.prototype.removeListener,f.prototype.addListener=f.prototype.on,f.prefixed=u,f.EventEmitter=f,w.exports=f})(m);var L=m.exports;const O=d(L);export{O as E,L as e};

View File

@ -1,4 +1,4 @@
import{r as c,j as e,B as f,t as r,a as O}from"./index-_xd8OyP8.js";import{c as z,S as E,T as H,U as P}from"./user-nav-BBmBVa03.js";import{L as _,f as q,g as B}from"./sidelinks-DLs_k-Mk.js";import{C as w,a as D,b as R,d as V,c as T}from"./card-6-6NT3wL.js";import{p as A,q as M,r as Q,t as W,v as Z,w as G}from"./index-BycJudEO.js";import{D as S,e as J,a as F,b as L,c as k,d as U,f as X}from"./button-DhrtVlOa.js";import{u as Y,F as $,a as K,b as ee,c as se,d as ae,e as re}from"./form-DIzSOdtk.js";import{D as te}from"./DynamicForm-r9rhu44l.js";import{L as ne}from"./loader-circle-BgRqqHyr.js";import{S as p}from"./skeleton-Dzu0p8kx.js";import{u as ie}from"./useQuery-mr7Ep0hT.js";import{C as le}from"./confirm-dialog-CHz9pK2w.js";import{T as oe}from"./trash-2-lI1I6nfk.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./clipboard-YH5zrf5X.js";import"./input-d0vtE30O.js";import"./textarea-Bmd-AJpD.js";/**
import{r as c,j as e,B as f,t as r,a as O}from"./index-ra1jmRmU.js";import{c as z,S as E,T as H,U as P}from"./user-nav-Ch7kI57y.js";import{L as _,f as q,g as B}from"./sidelinks-B70MVRK0.js";import{C as w,a as D,b as R,d as V,c as T}from"./card-m9i8rs49.js";import{q as A,r as M,t as Q,v as W,w as Z,x as G}from"./index-vL3ySUIK.js";import{D as S,e as J,a as F,b as L,c as k,d as U,f as X}from"./button-BkBuHKqj.js";import{u as Y,F as $,a as K,b as ee,c as se,d as ae,e as re}from"./form-BdPgCkkB.js";import{D as te}from"./DynamicForm-BSmL5V7X.js";import{L as ne}from"./loader-circle-DZwZUkW0.js";import{S as p}from"./skeleton-Dl8LFgxA.js";import{u as ie}from"./useQuery-BPONQpNy.js";import{C as le}from"./confirm-dialog-Cgr3O3nI.js";import{T as oe}from"./trash-2-DZs5wEr-.js";import"./react-icons.esm-BRv52UVg.js";import"./index-CmmzV1O3.js";import"./index-OwEZQf1t.js";import"./index-QSXu8nGm.js";import"./index-NvRyusV4.js";import"./IconTicket-s_6DwrCY.js";import"./clipboard-Bl2zvJsv.js";import"./input-BJSapCFH.js";import"./textarea-C2MOf6wm.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{r as i,j as o}from"./index-_xd8OyP8.js";import{P as t}from"./index-CX6PQ3zO.js";var s="VisuallyHidden",a=i.forwardRef((r,e)=>o.jsx(t.span,{...r,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));a.displayName=s;var n=a;export{n as R,a as V};
import{r as i,j as o}from"./index-ra1jmRmU.js";import{P as t}from"./index-QSXu8nGm.js";var s="VisuallyHidden",a=i.forwardRef((r,e)=>o.jsx(t.span,{...r,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));a.displayName=s;var n=a;export{n as R,a as V};

View File

@ -1 +1 @@
import{r as u}from"./index-_xd8OyP8.js";function o(r){const e=u.useRef({value:r,previous:r});return u.useMemo(()=>(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u};
import{r as u}from"./index-ra1jmRmU.js";function o(r){const e=u.useRef({value:r,previous:r});return u.useMemo(()=>(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as j,j as e,B as h,t as p}from"./index-_xd8OyP8.js";import{S as v}from"./separator-lX8UNwTG.js";import{z as n,t as _}from"./zod-x_8lkCGK.js";import{u as w,F as f,a as o,b as d,d as a,e as t}from"./form-DIzSOdtk.js";import{I as l}from"./input-d0vtE30O.js";import{u as g}from"./useQuery-mr7Ep0hT.js";import{u as b}from"./useMutation-COSDFEtn.js";import{e as F,s as N}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const S=n.object({windows_version:n.string().nullable(),windows_download_url:n.string().nullable(),macos_version:n.string().nullable(),macos_download_url:n.string().nullable(),android_version:n.string().nullable(),android_download_url:n.string().nullable()}),y={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function A(){const r=w({resolver:_(S),defaultValues:y,mode:"onChange"}),{data:i}=g({queryKey:["settings","app"],queryFn:()=>F("app")});j.useEffect(()=>{if(i?.data.app){const s=i.data.app;Object.entries(s).forEach(([c,u])=>{r.setValue(c,u)})}},[i]);const{mutate:x,status:m}=b({mutationFn:s=>N(s).then(({data:c})=>c&&p.success("保存成功")),mutationKey:["settings","app","update"]});return e.jsxs(f,{...r,children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Windows"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Windows端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"windows_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"windows_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.exe",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"macOS"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"macOS端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"mac_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"mac_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.dmg",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Android"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Android端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"android_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"android_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.apk",...s})}),e.jsx(t,{})]})})})]})]}),e.jsx(h,{type:"submit",loading:m=="pending",onClick:()=>{r.handleSubmit(s=>{x(s)})()},children:"保存设置"})]})}function V(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"APP设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理移动应用程序相关配置包括API接口、版本控制、推送通知等功能设置。"})]}),e.jsx(v,{}),e.jsx(A,{})]})}export{V as default};
import{r as j,j as e,B as h,t as p}from"./index-ra1jmRmU.js";import{S as v}from"./separator-Ckt7QEUw.js";import{z as n,t as _}from"./zod-DftZp2aV.js";import{u as w,F as f,a as o,b as d,d as a,e as t}from"./form-BdPgCkkB.js";import{I as l}from"./input-BJSapCFH.js";import{u as g}from"./useQuery-BPONQpNy.js";import{u as b}from"./useMutation-CAQi7k46.js";import{e as F,s as N}from"./index-vL3ySUIK.js";import"./index-QSXu8nGm.js";import"./clipboard-Bl2zvJsv.js";const S=n.object({windows_version:n.string().nullable(),windows_download_url:n.string().nullable(),macos_version:n.string().nullable(),macos_download_url:n.string().nullable(),android_version:n.string().nullable(),android_download_url:n.string().nullable()}),y={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function A(){const r=w({resolver:_(S),defaultValues:y,mode:"onChange"}),{data:i}=g({queryKey:["settings","app"],queryFn:()=>F("app")});j.useEffect(()=>{if(i?.data.app){const s=i.data.app;Object.entries(s).forEach(([c,u])=>{r.setValue(c,u)})}},[i]);const{mutate:x,status:m}=b({mutationFn:s=>N(s).then(({data:c})=>c&&p.success("保存成功")),mutationKey:["settings","app","update"]});return e.jsxs(f,{...r,children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Windows"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Windows端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"windows_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"windows_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.exe",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"macOS"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"macOS端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"mac_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"mac_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.dmg",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Android"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Android端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"android_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"android_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.apk",...s})}),e.jsx(t,{})]})})})]})]}),e.jsx(h,{type:"submit",loading:m=="pending",onClick:()=>{r.handleSubmit(s=>{x(s)})()},children:"保存设置"})]})}function V(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"APP设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理移动应用程序相关配置包括API接口、版本控制、推送通知等功能设置。"})]}),e.jsx(v,{}),e.jsx(A,{})]})}export{V as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as u}from"./index-_xd8OyP8.js";import{b as z}from"./index-BwSRHYe4.js";function c(r){const[h,e]=u.useState(void 0);return z(()=>{if(r){e({width:r.offsetWidth,height:r.offsetHeight});const f=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const b=i[0];let o,t;if("borderBoxSize"in b){const s=b.borderBoxSize,d=Array.isArray(s)?s[0]:s;o=d.inlineSize,t=d.blockSize}else o=r.offsetWidth,t=r.offsetHeight;e({width:o,height:t})});return f.observe(r,{box:"border-box"}),()=>f.unobserve(r)}else e(void 0)},[r]),h}export{c as u};
import{r as u}from"./index-ra1jmRmU.js";import{b as z}from"./index-OwEZQf1t.js";function c(r){const[h,e]=u.useState(void 0);return z(()=>{if(r){e({width:r.offsetWidth,height:r.offsetHeight});const f=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const b=i[0];let o,t;if("borderBoxSize"in b){const s=b.borderBoxSize,d=Array.isArray(s)?s[0]:s;o=d.inlineSize,t=d.blockSize}else o=r.offsetWidth,t=r.offsetHeight;e({width:o,height:t})});return f.observe(r,{box:"border-box"}),()=>f.unobserve(r)}else e(void 0)},[r]),h}export{c as u};

View File

@ -1 +1 @@
import{r as c,j as C}from"./index-_xd8OyP8.js";function $(e,o,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),t===!1||!n.defaultPrevented)return o?.(n)}}function j(e,o){const t=c.createContext(o),u=s=>{const{children:r,...a}=s,i=c.useMemo(()=>a,Object.values(a));return C.jsx(t.Provider,{value:i,children:r})};u.displayName=e+"Provider";function n(s){const r=c.useContext(t);if(r)return r;if(o!==void 0)return o;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[u,n]}function w(e,o=[]){let t=[];function u(s,r){const a=c.createContext(r),i=t.length;t=[...t,r];const f=l=>{const{scope:p,children:v,...d}=l,h=p?.[e]?.[i]||a,S=c.useMemo(()=>d,Object.values(d));return C.jsx(h.Provider,{value:S,children:v})};f.displayName=s+"Provider";function x(l,p){const v=p?.[e]?.[i]||a,d=c.useContext(v);if(d)return d;if(r!==void 0)return r;throw new Error(`\`${l}\` must be used within \`${s}\``)}return[f,x]}const n=()=>{const s=t.map(r=>c.createContext(r));return function(a){const i=a?.[e]||s;return c.useMemo(()=>({[`__scope${e}`]:{...a,[e]:i}}),[a,i])}};return n.scopeName=e,[u,P(n,...o)]}function P(...e){const o=e[0];if(e.length===1)return o;const t=()=>{const u=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(s){const r=u.reduce((a,{useScope:i,scopeName:f})=>{const l=i(s)[`__scope${f}`];return{...a,...l}},{});return c.useMemo(()=>({[`__scope${o.scopeName}`]:r}),[r])}};return t.scopeName=o.scopeName,t}function m(e){const o=c.useRef(e);return c.useEffect(()=>{o.current=e}),c.useMemo(()=>(...t)=>o.current?.(...t),[])}function R({prop:e,defaultProp:o,onChange:t=()=>{}}){const[u,n]=b({defaultProp:o,onChange:t}),s=e!==void 0,r=s?e:u,a=m(t),i=c.useCallback(f=>{if(s){const l=typeof f=="function"?f(e):f;l!==e&&a(l)}else n(f)},[s,e,n,a]);return[r,i]}function b({defaultProp:e,onChange:o}){const t=c.useState(e),[u]=t,n=c.useRef(u),s=m(o);return c.useEffect(()=>{n.current!==u&&(s(u),n.current=u)},[u,n,s]),t}var _=globalThis?.document?c.useLayoutEffect:()=>{};export{$ as a,_ as b,w as c,m as d,j as e,R as u};
import{r as c,j as C}from"./index-ra1jmRmU.js";function $(e,o,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),t===!1||!n.defaultPrevented)return o?.(n)}}function j(e,o){const t=c.createContext(o),u=s=>{const{children:r,...a}=s,i=c.useMemo(()=>a,Object.values(a));return C.jsx(t.Provider,{value:i,children:r})};u.displayName=e+"Provider";function n(s){const r=c.useContext(t);if(r)return r;if(o!==void 0)return o;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[u,n]}function w(e,o=[]){let t=[];function u(s,r){const a=c.createContext(r),i=t.length;t=[...t,r];const f=l=>{const{scope:p,children:v,...d}=l,h=p?.[e]?.[i]||a,S=c.useMemo(()=>d,Object.values(d));return C.jsx(h.Provider,{value:S,children:v})};f.displayName=s+"Provider";function x(l,p){const v=p?.[e]?.[i]||a,d=c.useContext(v);if(d)return d;if(r!==void 0)return r;throw new Error(`\`${l}\` must be used within \`${s}\``)}return[f,x]}const n=()=>{const s=t.map(r=>c.createContext(r));return function(a){const i=a?.[e]||s;return c.useMemo(()=>({[`__scope${e}`]:{...a,[e]:i}}),[a,i])}};return n.scopeName=e,[u,P(n,...o)]}function P(...e){const o=e[0];if(e.length===1)return o;const t=()=>{const u=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(s){const r=u.reduce((a,{useScope:i,scopeName:f})=>{const l=i(s)[`__scope${f}`];return{...a,...l}},{});return c.useMemo(()=>({[`__scope${o.scopeName}`]:r}),[r])}};return t.scopeName=o.scopeName,t}function m(e){const o=c.useRef(e);return c.useEffect(()=>{o.current=e}),c.useMemo(()=>(...t)=>o.current?.(...t),[])}function R({prop:e,defaultProp:o,onChange:t=()=>{}}){const[u,n]=b({defaultProp:o,onChange:t}),s=e!==void 0,r=s?e:u,a=m(t),i=c.useCallback(f=>{if(s){const l=typeof f=="function"?f(e):f;l!==e&&a(l)}else n(f)},[s,e,n,a]);return[r,i]}function b({defaultProp:e,onChange:o}){const t=c.useState(e),[u]=t,n=c.useRef(u),s=m(o);return c.useEffect(()=>{n.current!==u&&(s(u),n.current=u)},[u,n,s]),t}var _=globalThis?.document?c.useLayoutEffect:()=>{};export{$ as a,_ as b,w as c,m as d,j as e,R as u};

View File

@ -1 +1 @@
import{r as p,j as m,z as u,M as d}from"./index-_xd8OyP8.js";var f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],l=f.reduce((r,i)=>{const t=p.forwardRef((s,o)=>{const{asChild:e,...a}=s,n=e?u:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(n,{...a,ref:o})});return t.displayName=`Primitive.${i}`,{...r,[i]:t}},{});function v(r,i){r&&d.flushSync(()=>r.dispatchEvent(i))}export{l as P,v as d};
import{r as p,j as m,z as u,M as d}from"./index-ra1jmRmU.js";var f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],l=f.reduce((r,i)=>{const t=p.forwardRef((s,o)=>{const{asChild:e,...a}=s,n=e?u:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(n,{...a,ref:o})});return t.displayName=`Primitive.${i}`,{...r,[i]:t}},{});function v(r,i){r&&d.flushSync(()=>r.dispatchEvent(i))}export{l as P,v as d};

View File

@ -1 +1 @@
import{r as b,j as e,a as y,g as S,B as h,t as p}from"./index-_xd8OyP8.js";import{S as F}from"./separator-lX8UNwTG.js";import{z as l,t as T}from"./zod-x_8lkCGK.js";import{C as v}from"./react-icons.esm-rZq2pt7A.js";import{u as M,F as w,a as n,b as t,c as i,d as o,f as c,e as m}from"./form-DIzSOdtk.js";import{I as d}from"./input-d0vtE30O.js";import{u as j}from"./useQuery-mr7Ep0hT.js";import{s as E,e as N,f as q,h as C}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const P=l.object({email_template:l.string().nullable(),email_host:l.string().nullable(),email_port:l.string().regex(/^\d+$/).nullable(),email_username:l.string().nullable(),email_password:l.string().nullable(),email_encryption:l.string().nullable(),email_from_address:l.string().email().nullable()}),I={email_template:"classic",email_host:"",email_port:"465",email_username:"",email_password:"",email_encryption:"",email_from_address:""};function L(){const r=M({resolver:T(P),defaultValues:I,mode:"onChange"}),{data:x}=j({queryKey:["settings","email"],queryFn:()=>N("email")}),{data:u}=j({queryKey:["emailTemplate"],queryFn:()=>q()});b.useEffect(()=>{if(x?.data.email){const s=x.data.email;Object.entries(s).forEach(([a,_])=>{r.setValue(a,_)})}},[x]);const{isLoading:f,refetch:g}=j({queryKey:["sendTestMail"],queryFn:()=>C().then(()=>p.success("发送成功")),enabled:!1});return e.jsxs(w,{...r,children:[e.jsx(n,{control:r.control,name:"email_host",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP服务器地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的服务地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_port",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP服务端口"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"常见的端口有25, 465, 587"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_encryption",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP加密方式"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"465端口加密方式一般为SSL587端口加密方式一般为TLS"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_username",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP账号"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的账号"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_password",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP密码"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的密码"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_from_address",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"发件地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的发件地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_template",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"邮件模板"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(o,{children:e.jsx("select",{className:y(S({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:u?.data?.map(a=>e.jsx("option",{value:a,children:a},a))})}),e.jsx(v,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"你可以在文档查看如何自定义邮件模板"}),e.jsx(m,{})]})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(h,{type:"submit",onClick:()=>{r.handleSubmit(s=>{console.log(s),E(s).then(({data:a})=>{a&&p.success("保存成功")})})()},children:"保存设置"}),e.jsx(h,{loading:f,onClick:()=>{g()},children:"发送测试邮件"})]})]})}function A(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邮件设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统邮件服务用于发送验证码、密码重置、通知等邮件支持多种SMTP服务商。"})]}),e.jsx(F,{}),e.jsx(L,{})]})}export{A as default};
import{r as b,j as e,a as y,g as S,B as h,t as p}from"./index-ra1jmRmU.js";import{S as F}from"./separator-Ckt7QEUw.js";import{z as l,t as T}from"./zod-DftZp2aV.js";import{C as v}from"./react-icons.esm-BRv52UVg.js";import{u as M,F as w,a as n,b as i,c as t,d as o,f as c,e as m}from"./form-BdPgCkkB.js";import{I as d}from"./input-BJSapCFH.js";import{u as j}from"./useQuery-BPONQpNy.js";import{s as E,e as N,h as q,i as C}from"./index-vL3ySUIK.js";import"./index-QSXu8nGm.js";import"./clipboard-Bl2zvJsv.js";const P=l.object({email_template:l.string().nullable(),email_host:l.string().nullable(),email_port:l.string().regex(/^\d+$/).nullable(),email_username:l.string().nullable(),email_password:l.string().nullable(),email_encryption:l.string().nullable(),email_from_address:l.string().email().nullable()}),I={email_template:"classic",email_host:"",email_port:"465",email_username:"",email_password:"",email_encryption:"",email_from_address:""};function L(){const r=M({resolver:T(P),defaultValues:I,mode:"onChange"}),{data:x}=j({queryKey:["settings","email"],queryFn:()=>N("email")}),{data:u}=j({queryKey:["emailTemplate"],queryFn:()=>q()});b.useEffect(()=>{if(x?.data.email){const s=x.data.email;Object.entries(s).forEach(([a,_])=>{r.setValue(a,_)})}},[x]);const{isLoading:f,refetch:g}=j({queryKey:["sendTestMail"],queryFn:()=>C().then(()=>p.success("发送成功")),enabled:!1});return e.jsxs(w,{...r,children:[e.jsx(n,{control:r.control,name:"email_host",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"SMTP服务器地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的服务地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_port",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"SMTP服务端口"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"常见的端口有25, 465, 587"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_encryption",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"SMTP加密方式"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"465端口加密方式一般为SSL587端口加密方式一般为TLS"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_username",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"SMTP账号"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的账号"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_password",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"SMTP密码"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的密码"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_from_address",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"发件地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的发件地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_template",render:({field:s})=>e.jsxs(i,{children:[e.jsx(t,{children:"邮件模板"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(o,{children:e.jsx("select",{className:y(S({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:u?.data?.map(a=>e.jsx("option",{value:a,children:a},a))})}),e.jsx(v,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"你可以在文档查看如何自定义邮件模板"}),e.jsx(m,{})]})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(h,{type:"submit",onClick:()=>{r.handleSubmit(s=>{console.log(s),E(s).then(({data:a})=>{a&&p.success("保存成功")})})()},children:"保存设置"}),e.jsx(h,{loading:f,onClick:()=>{g()},children:"发送测试邮件"})]})]})}function A(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邮件设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统邮件服务用于发送验证码、密码重置、通知等邮件支持多种SMTP服务商。"})]}),e.jsx(F,{}),e.jsx(L,{})]})}export{A as default};

View File

@ -1,4 +1,4 @@
import{r as n,j as e,a as v,x as H,u as he,t as C}from"./index-_xd8OyP8.js";import{c as z,C as fe,a as ge,b as pe,d as ve,e as P,f as A,g as je,S as be,T as ye,U as Ne}from"./user-nav-BBmBVa03.js";import{i as O,u as we,R as Ce,I as Te,L as Se,f as Me,g as ke}from"./sidelinks-DLs_k-Mk.js";import{B as b,D as N,u as Re,g as Ve,b as Fe,c as Le,d as De,e as Ie,f as _e,a as Ee}from"./column-header-BLyyjrhJ.js";import{u as K}from"./useQuery-mr7Ep0hT.js";import{c as Pe,u as Ae,a as V}from"./index-BwSRHYe4.js";import{u as Be,P as He}from"./index-CcyXqhZ9.js";import{P as k}from"./index-CX6PQ3zO.js";import{B as p,D as ze,e as Oe,a as Ke,c as Ue}from"./button-DhrtVlOa.js";import{P as qe,a as $e,b as Ge}from"./popover-C5eiPdqD.js";import{S as L}from"./separator-lX8UNwTG.js";import{t as T,T as j,j as w,k as We}from"./index-ngg4RcvF.js";import{u as Ze,a as Qe,U as Je,T as Xe}from"./traffic-record-table-ChIQ7swu.js";import{a8 as Ye,a9 as ea,aa as U,a as aa}from"./index-BycJudEO.js";import{a as M}from"./common-BL1VIuho.js";import{T as sa}from"./textarea-Bmd-AJpD.js";import{C as q}from"./confirm-dialog-CHz9pK2w.js";import{S as F}from"./skeleton-Dzu0p8kx.js";import{u as B}from"./user-CIJd3wDa.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./input-d0vtE30O.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./tooltip-B58e4dA7.js";import"./arrow-up-9fLptvj0.js";import"./zod-x_8lkCGK.js";import"./form-DIzSOdtk.js";import"./calendar-DHKoWj25.js";import"./switch-w5WyeRwk.js";import"./clipboard-YH5zrf5X.js";/**
import{r as n,j as e,a as v,x as H,u as he,t as C}from"./index-ra1jmRmU.js";import{c as z,C as fe,a as ge,b as pe,d as ve,e as P,f as A,g as je,S as be,T as ye,U as Ne}from"./user-nav-Ch7kI57y.js";import{i as O,u as we,R as Ce,I as Te,L as Se,f as Me,g as ke}from"./sidelinks-B70MVRK0.js";import{B as b,D as N,u as Re,g as Ve,b as Fe,c as Le,d as De,e as Ie,f as _e,a as Ee}from"./column-header-p2OHlx2E.js";import{u as K}from"./useQuery-BPONQpNy.js";import{c as Pe,u as Ae,a as V}from"./index-OwEZQf1t.js";import{u as Be,P as He}from"./index-CmmzV1O3.js";import{P as k}from"./index-QSXu8nGm.js";import{B as p,D as ze,e as Oe,a as Ke,c as Ue}from"./button-BkBuHKqj.js";import{P as qe,a as $e,b as Ge}from"./popover-C64Crl1x.js";import{S as L}from"./separator-Ckt7QEUw.js";import{t as T,T as j,j as w,k as We}from"./index-ngg4RcvF.js";import{u as Ze,a as Qe,U as Je,T as Xe}from"./traffic-record-table-DyDdLbR3.js";import{a8 as Ye,a9 as ea,aa as U,a as aa}from"./index-vL3ySUIK.js";import{a as M}from"./common-DR9A_A8_.js";import{T as sa}from"./textarea-C2MOf6wm.js";import{C as q}from"./confirm-dialog-Cgr3O3nI.js";import{S as F}from"./skeleton-Dl8LFgxA.js";import{u as B}from"./user-D0H1hp3K.js";import"./react-icons.esm-BRv52UVg.js";import"./index-NvRyusV4.js";import"./IconTicket-s_6DwrCY.js";import"./input-BJSapCFH.js";import"./select-ar7QGfF7.js";import"./index-DGqrqZGX.js";import"./index-DBonxKbv.js";import"./tooltip-uHmd8Pkm.js";import"./arrow-up-Cu4ezgY6.js";import"./zod-DftZp2aV.js";import"./form-BdPgCkkB.js";import"./calendar-BSDjNVAZ.js";import"./switch-koO8JJ-3.js";import"./clipboard-Bl2zvJsv.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import"./clipboard-YH5zrf5X.js";import{b as e}from"./index-_xd8OyP8.js";const s=window?.settings?.secure_path,a=()=>e.get(s+"/stat/getOrder"),p=()=>e.get(s+"/stat/getStats"),c=t=>e.get(s+"/stat/getTrafficRank",{params:t}),u=()=>e.get(s+"/theme/getThemes"),g=t=>e.post(s+"/theme/getThemeConfig",{name:t}),d=(t,r)=>e.post(s+"/theme/saveThemeConfig",{name:t,config:r}),i=t=>{const r=new FormData;return r.append("file",t),e.post(s+"/theme/upload",r,{headers:{"Content-Type":"multipart/form-data"}})},m=t=>e.post(s+"/theme/delete",{name:t}),l=t=>e.post(s+"/config/save",t),h=()=>e.get(s+"/server/manage/getNodes"),f=t=>e.post(s+"/server/manage/save",t),v=t=>e.post(s+"/server/manage/drop",t),y=t=>e.post(s+"/server/manage/copy",t),k=t=>e.post(s+"/server/manage/update",t),T=t=>e.post(s+"/server/manage/sort",t),w=()=>e.get(s+"/server/group/fetch"),S=t=>e.post(s+"/server/group/save",t),P=t=>e.post(s+"/server/group/drop",t),L=()=>e.get(s+"/server/route/fetch"),N=t=>e.post(s+"/server/route/save",t),C=t=>e.post(s+"/server/route/drop",t),M=()=>e.get(s+"/payment/fetch"),O=()=>e.get(s+"/payment/getPaymentMethods"),G=t=>e.post(s+"/payment/getPaymentForm",t),K=t=>e.post(s+"/payment/save",t),U=t=>e.post(s+"/payment/drop",t),I=t=>e.post(s+"/payment/show",t),b=t=>e.post(s+"/payment/sort",t),D=()=>e.get(s+"/notice/fetch"),R=t=>e.post(s+"/notice/save",t),F=t=>e.post(s+"/notice/drop",t),x=t=>e.post(s+"/notice/show",t),E=()=>e.get(s+"/knowledge/fetch"),W=t=>e.get(s+"/knowledge/fetch?id="+t),q=t=>e.post(s+"/knowledge/save",t),_=t=>e.post(s+"/knowledge/drop",t),j=t=>e.post(s+"/knowledge/show",t),z=t=>e.post(s+"/knowledge/sort",t),A=()=>e.get(s+"/plan/fetch"),B=t=>e.post(s+"/plan/save",t),H=t=>e.post(s+"/plan/update",t),J=t=>e.post(s+"/plan/drop",t),Q=t=>e.post(s+"/plan/sort",{ids:t}),V=async t=>e.post(s+"/order/fetch",t),X=t=>e.post(s+"/order/detail",t),Y=t=>e.post(s+"/order/paid",t),Z=t=>e.post(s+"/order/cancel",t),$=t=>e.post(s+"/order/update",t),tt=t=>e.post(s+"/order/assign",t),et=t=>e.post(s+"/coupon/fetch",t),st=t=>e.post(s+"/coupon/generate",t),rt=t=>e.post(s+"/coupon/drop",t),ot=t=>e.post(s+"/coupon/update",t),nt=t=>e.post(s+"/user/fetch",t),at=t=>e.post(s+"/user/update",t),pt=t=>e.post(s+"/user/resetSecret",t),ct=t=>e.post(s+"/user/generate",t),ut=t=>e.post(s+"/stat/getStatUser",t),gt=t=>e.post(s+"/ticket/fetch",t),dt=t=>e.get(s+"/ticket/fetch?id= "+t),it=t=>e.post(s+"/ticket/reply",t),mt=t=>e.post(s+"/ticket/close",{id:t}),lt=(t="")=>e.get(s+"/config/fetch?key="+t),ht=t=>e.post(s+"/config/save",t),ft=()=>e.get(s+"/config/getEmailTemplate"),vt=()=>e.post(s+"/config/testSendMail"),yt=()=>e.post(s+"/config/setTelegramWebhook");export{$,D as A,W as B,q as C,j as D,_ as E,E as F,z as G,w as H,L as I,h as J,f as K,k as L,y as M,v as N,T as O,P,N as Q,C as R,B as S,H as T,J as U,A as V,Q as W,S as X,X as Y,Y as Z,Z as _,gt as a,st as a0,ot as a1,rt as a2,et as a3,ct as a4,pt as a5,nt as a6,tt as a7,dt as a8,it as a9,mt as aa,at as ab,ut as ac,V as b,p as c,c as d,lt as e,ft as f,a as g,vt as h,yt as i,O as j,G as k,K as l,U as m,M as n,b as o,g as p,d as q,m as r,ht as s,l as t,I as u,i as v,u as w,R as x,x as y,F as z};
import"./clipboard-Bl2zvJsv.js";import{b as e}from"./index-ra1jmRmU.js";const s=window?.settings?.secure_path,a=()=>e.get(s+"/stat/getOrder"),p=()=>e.get(s+"/stat/getStats"),c=t=>e.get(s+"/stat/getTrafficRank",{params:t}),u=()=>e.get(s+"/theme/getThemes"),g=t=>e.post(s+"/theme/getThemeConfig",{name:t}),d=(t,r)=>e.post(s+"/theme/saveThemeConfig",{name:t,config:r}),i=t=>{const r=new FormData;return r.append("file",t),e.post(s+"/theme/upload",r,{headers:{"Content-Type":"multipart/form-data"}})},m=t=>e.post(s+"/theme/delete",{name:t}),l=t=>e.post(s+"/config/save",t),h=()=>e.get(s+"/server/manage/getNodes"),f=t=>e.post(s+"/server/manage/save",t),v=t=>e.post(s+"/server/manage/drop",t),y=t=>e.post(s+"/server/manage/copy",t),k=t=>e.post(s+"/server/manage/update",t),T=t=>e.post(s+"/server/manage/sort",t),w=()=>e.get(s+"/server/group/fetch"),S=t=>e.post(s+"/server/group/save",t),P=t=>e.post(s+"/server/group/drop",t),L=()=>e.get(s+"/server/route/fetch"),N=t=>e.post(s+"/server/route/save",t),C=t=>e.post(s+"/server/route/drop",t),M=()=>e.get(s+"/payment/fetch"),O=()=>e.get(s+"/payment/getPaymentMethods"),G=t=>e.post(s+"/payment/getPaymentForm",t),K=t=>e.post(s+"/payment/save",t),U=t=>e.post(s+"/payment/drop",t),I=t=>e.post(s+"/payment/show",t),b=t=>e.post(s+"/payment/sort",t),D=()=>e.get(s+"/notice/fetch"),R=t=>e.post(s+"/notice/save",t),F=t=>e.post(s+"/notice/drop",t),x=t=>e.post(s+"/notice/show",t),E=()=>e.get(s+"/knowledge/fetch"),W=t=>e.get(s+"/knowledge/fetch?id="+t),q=t=>e.post(s+"/knowledge/save",t),_=t=>e.post(s+"/knowledge/drop",t),j=t=>e.post(s+"/knowledge/show",t),z=t=>e.post(s+"/knowledge/sort",t),A=()=>e.get(s+"/plan/fetch"),B=t=>e.post(s+"/plan/save",t),H=t=>e.post(s+"/plan/update",t),J=t=>e.post(s+"/plan/drop",t),Q=t=>e.post(s+"/plan/sort",{ids:t}),V=async t=>e.post(s+"/order/fetch",t),X=t=>e.post(s+"/order/detail",t),Y=t=>e.post(s+"/order/paid",t),Z=t=>e.post(s+"/order/cancel",t),$=t=>e.post(s+"/order/update",t),tt=t=>e.post(s+"/order/assign",t),et=t=>e.post(s+"/coupon/fetch",t),st=t=>e.post(s+"/coupon/generate",t),rt=t=>e.post(s+"/coupon/drop",t),ot=t=>e.post(s+"/coupon/update",t),nt=t=>e.post(s+"/user/fetch",t),at=t=>e.post(s+"/user/update",t),pt=t=>e.post(s+"/user/resetSecret",t),ct=t=>e.post(s+"/user/generate",t),ut=t=>e.post(s+"/stat/getStatUser",t),gt=t=>e.post(s+"/ticket/fetch",t),dt=t=>e.get(s+"/ticket/fetch?id= "+t),it=t=>e.post(s+"/ticket/reply",t),mt=t=>e.post(s+"/ticket/close",{id:t}),lt=(t="")=>e.get(s+"/config/fetch?key="+t),ht=t=>e.post(s+"/config/save",t),ft=()=>e.get(s+"/config/getEmailTemplate"),vt=()=>e.post(s+"/config/testSendMail"),yt=()=>e.post(s+"/config/setTelegramWebhook");export{$,F as A,D as B,W as C,q as D,j as E,_ as F,E as G,z as H,w as I,L as J,h as K,f as L,k as M,y as N,v as O,T as P,P as Q,N as R,C as S,B as T,H as U,J as V,Q as W,S as X,X as Y,Y as Z,Z as _,gt as a,st as a0,ot as a1,rt as a2,et as a3,ct as a4,pt as a5,nt as a6,tt as a7,dt as a8,it as a9,mt as aa,at as ab,ut as ac,V as b,p as c,c as d,lt as e,A as f,a as g,ft as h,vt as i,yt as j,O as k,G as l,K as m,U as n,M as o,b as p,g as q,d as r,ht as s,m as t,I as u,l as v,i as w,u as x,R as y,x as z};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as o,j as i,a as n}from"./index-_xd8OyP8.js";const a=o.forwardRef(({className:e,type:r,...s},t)=>i.jsx("input",{type:r,className:n("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...s}));a.displayName="Input";export{a as I};
import{r as o,j as i,a as n}from"./index-ra1jmRmU.js";const a=o.forwardRef(({className:e,type:r,...s},t)=>i.jsx("input",{type:r,className:n("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...s}));a.displayName="Input";export{a as I};

View File

@ -1,4 +1,4 @@
import{c as e}from"./user-nav-BBmBVa03.js";/**
import{c as e}from"./user-nav-Ch7kI57y.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1,4 +1,4 @@
import{r,j as s,a as x}from"./index-_xd8OyP8.js";import{c as ee,L as te,f as E,C as ne,w as se,b as re,e as le}from"./user-nav-BBmBVa03.js";import{B as ue}from"./column-header-BLyyjrhJ.js";/**
import{r,j as s,a as x}from"./index-ra1jmRmU.js";import{c as ee,L as te,f as E,C as ne,w as se,b as re,e as le}from"./user-nav-Ch7kI57y.js";import{B as ue}from"./column-header-p2OHlx2E.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{r as d,j as e,B as h,t as O}from"./index-_xd8OyP8.js";import{D as I,e as V,a as _,b as T,c as L,d as P,f as k}from"./button-DhrtVlOa.js";import{z as n,t as y}from"./zod-x_8lkCGK.js";import{u as E,F as N,a as o,b as l,c as t,d as i,e as w}from"./form-DIzSOdtk.js";import{I as j}from"./input-d0vtE30O.js";import{b as z}from"./react-icons.esm-rZq2pt7A.js";import{V as A,a7 as B}from"./index-BycJudEO.js";import{S as u,a as p,b as g,c as f,d as C}from"./select-Cqkdx-UJ.js";import{e as F}from"./index-ngg4RcvF.js";const M=n.object({email:n.string().min(1),plan_id:n.number(),period:n.string(),total_amount:n.number()}),H={email:"",plan_id:0,total_amount:0,period:""};function Y({refetch:x,trigger:v,defaultValues:b}){const[c,m]=d.useState(!1),a=E({resolver:y(M),defaultValues:{...H,...b},mode:"onChange"}),[S,D]=d.useState([]);return d.useEffect(()=>{c&&A().then(({data:s})=>{D(s)})},[c]),e.jsxs(I,{open:c,onOpenChange:m,children:[e.jsx(V,{asChild:!0,children:v||e.jsxs(h,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(z,{className:"mr-2 h-4 w-4"}),"添加订单"]})}),e.jsxs(_,{className:"sm:max-w-[425px]",children:[e.jsxs(T,{children:[e.jsx(L,{children:"订单分配"}),e.jsx(P,{})]}),e.jsxs(N,{...a,children:[e.jsx(o,{control:a.control,name:"email",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"用户邮箱"}),e.jsx(i,{children:e.jsx(j,{placeholder:"请输入用户邮箱",...s})})]})}),e.jsx(o,{control:a.control,name:"plan_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅计划"}),e.jsx(i,{children:e.jsxs(u,{value:s.value?s.value?.toString():void 0,onValueChange:r=>s.onChange(parseInt(r)),children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择订阅计划"})}),e.jsx(f,{children:S.map(r=>e.jsx(C,{value:r.id.toString(),children:r.name},r.id))})]})})]})}),e.jsx(o,{control:a.control,name:"period",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅时长"}),e.jsx(i,{children:e.jsxs(u,{value:s.value,onValueChange:s.onChange,children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择购买时长"})}),e.jsx(f,{children:Object.keys(F).map(r=>e.jsx(C,{value:r,children:F[r]},r))})]})})]})}),e.jsx(o,{control:a.control,name:"total_amount",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"支付金额"}),e.jsx(i,{children:e.jsx(j,{type:"number",placeholder:"请输入需要支付的金额",value:s.value/100,onChange:r=>s.onChange(parseFloat(r.currentTarget.value)*100)})}),e.jsx(w,{})]})}),e.jsxs(k,{children:[e.jsx(h,{variant:"outline",onClick:()=>m(!1),children:"取消"}),e.jsx(h,{type:"submit",onClick:()=>{a.handleSubmit(s=>{B(s).then(({data:r})=>{r&&(x&&x(),a.reset(),m(!1),O.success("添加成功"))})})()},children:"确定"})]})]})]})]})}export{Y as O};
import{r as d,j as e,B as h,t as O}from"./index-ra1jmRmU.js";import{D as I,e as _,a as T,b as V,c as L,d as P,f as k}from"./button-BkBuHKqj.js";import{z as n,t as y}from"./zod-DftZp2aV.js";import{u as E,F as N,a as o,b as l,c as t,d as i,e as w}from"./form-BdPgCkkB.js";import{I as j}from"./input-BJSapCFH.js";import{b as z}from"./react-icons.esm-BRv52UVg.js";import{f as A,a7 as B}from"./index-vL3ySUIK.js";import{S as u,a as p,b as g,c as f,d as C}from"./select-ar7QGfF7.js";import{e as F}from"./index-ngg4RcvF.js";const M=n.object({email:n.string().min(1),plan_id:n.number(),period:n.string(),total_amount:n.number()}),H={email:"",plan_id:0,total_amount:0,period:""};function Y({refetch:x,trigger:v,defaultValues:b}){const[c,m]=d.useState(!1),a=E({resolver:y(M),defaultValues:{...H,...b},mode:"onChange"}),[S,D]=d.useState([]);return d.useEffect(()=>{c&&A().then(({data:s})=>{D(s)})},[c]),e.jsxs(I,{open:c,onOpenChange:m,children:[e.jsx(_,{asChild:!0,children:v||e.jsxs(h,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(z,{className:"mr-2 h-4 w-4"}),"添加订单"]})}),e.jsxs(T,{className:"sm:max-w-[425px]",children:[e.jsxs(V,{children:[e.jsx(L,{children:"订单分配"}),e.jsx(P,{})]}),e.jsxs(N,{...a,children:[e.jsx(o,{control:a.control,name:"email",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"用户邮箱"}),e.jsx(i,{children:e.jsx(j,{placeholder:"请输入用户邮箱",...s})})]})}),e.jsx(o,{control:a.control,name:"plan_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅计划"}),e.jsx(i,{children:e.jsxs(u,{value:s.value?s.value?.toString():void 0,onValueChange:r=>s.onChange(parseInt(r)),children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择订阅计划"})}),e.jsx(f,{children:S.map(r=>e.jsx(C,{value:r.id.toString(),children:r.name},r.id))})]})})]})}),e.jsx(o,{control:a.control,name:"period",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅时长"}),e.jsx(i,{children:e.jsxs(u,{value:s.value,onValueChange:s.onChange,children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择购买时长"})}),e.jsx(f,{children:Object.keys(F).map(r=>e.jsx(C,{value:r,children:F[r]},r))})]})})]})}),e.jsx(o,{control:a.control,name:"total_amount",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"支付金额"}),e.jsx(i,{children:e.jsx(j,{type:"number",placeholder:"请输入需要支付的金额",value:s.value/100,onChange:r=>s.onChange(parseFloat(r.currentTarget.value)*100)})}),e.jsx(w,{})]})}),e.jsxs(k,{children:[e.jsx(h,{variant:"outline",onClick:()=>m(!1),children:"取消"}),e.jsx(h,{type:"submit",onClick:()=>{a.handleSubmit(s=>{B(s).then(({data:r})=>{r&&(x&&x(),a.reset(),m(!1),O.success("添加成功"))})})()},children:"确定"})]})]})]})]})}export{Y as O};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{j as a}from"./index-_xd8OyP8.js";const s=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})});export{s as u};
import{j as a}from"./index-ra1jmRmU.js";const s=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})});export{s as u};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as s,j as l,a as m}from"./index-_xd8OyP8.js";import{P as v}from"./index-CX6PQ3zO.js";var f="Separator",n="horizontal",N=["horizontal","vertical"],p=s.forwardRef((r,a)=>{const{decorative:t,orientation:o=n,...i}=r,e=u(o)?o:n,d=t?{role:"none"}:{"aria-orientation":e==="vertical"?e:void 0,role:"separator"};return l.jsx(v.div,{"data-orientation":e,...d,...i,ref:a})});p.displayName=f;function u(r){return N.includes(r)}var c=p;const x=s.forwardRef(({className:r,orientation:a="horizontal",decorative:t=!0,...o},i)=>l.jsx(c,{ref:i,decorative:t,orientation:a,className:m("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...o}));x.displayName=c.displayName;export{x as S};
import{r as s,j as l,a as m}from"./index-ra1jmRmU.js";import{P as v}from"./index-QSXu8nGm.js";var f="Separator",n="horizontal",N=["horizontal","vertical"],p=s.forwardRef((r,a)=>{const{decorative:t,orientation:o=n,...i}=r,e=u(o)?o:n,d=t?{role:"none"}:{"aria-orientation":e==="vertical"?e:void 0,role:"separator"};return l.jsx(v.div,{"data-orientation":e,...d,...i,ref:a})});p.displayName=f;function u(r){return N.includes(r)}var c=p;const x=s.forwardRef(({className:r,orientation:a="horizontal",decorative:t=!0,...o},i)=>l.jsx(c,{ref:i,decorative:t,orientation:a,className:m("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...o}));x.displayName=c.displayName;export{x as S};

View File

@ -1,4 +1,4 @@
import{c as e}from"./user-nav-BBmBVa03.js";/**
import{c as e}from"./user-nav-Ch7kI57y.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{r as d,j as s,B as o,t as x}from"./index-_xd8OyP8.js";import{D as f,e as g,a as b,b as F,c as S,d as D,f as C,g as v}from"./button-DhrtVlOa.js";import{u as N,F as I,a as w,b as y,c as z,d as G,f as L,e as B}from"./form-DIzSOdtk.js";import{I as E}from"./input-d0vtE30O.js";import{z as i,t as O}from"./zod-x_8lkCGK.js";import{I as T}from"./iconify-Dsf6bxB2.js";import{X as A}from"./index-BycJudEO.js";import{L as H}from"./loader-circle-BgRqqHyr.js";const M=i.object({id:i.number().optional(),name:i.string().min(2,"组名至少需要2个字符").max(50,"组名不能超过50个字符").regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,"组名只能包含字母、数字、中文、下划线和连字符")});function J({refetch:t,dialogTrigger:u,defaultValues:h={name:""},type:a="add"}){const e=N({resolver:O(M),defaultValues:h,mode:"onChange"}),[p,n]=d.useState(!1),[l,m]=d.useState(!1),j=async r=>{try{m(!0);const{data:c}=await A(r);c&&(x.success(a==="edit"?"更新成功":"创建成功"),t&&t(),e.reset(),n(!1))}catch{x.error("操作失败,请重试")}finally{m(!1)}};return s.jsxs(f,{open:p,onOpenChange:n,children:[s.jsx(g,{asChild:!0,children:u||s.jsxs(o,{variant:"outline",size:"sm",className:"space-x-2",children:[s.jsx(T,{icon:"ion:add",className:"h-4 w-4"}),s.jsx("span",{children:"添加权限组"})]})}),s.jsxs(b,{className:"sm:max-w-[425px]",children:[s.jsxs(F,{children:[s.jsx(S,{children:a==="edit"?"编辑权限组":"创建权限组"}),s.jsx(D,{children:a==="edit"?"修改权限组信息,更新后会立即生效。":"创建新的权限组,可以为不同的用户分配不同的权限。"})]}),s.jsx(I,{...e,children:s.jsxs("form",{onSubmit:e.handleSubmit(j),className:"space-y-4",children:[s.jsx(w,{control:e.control,name:"name",render:({field:r})=>s.jsxs(y,{children:[s.jsx(z,{children:"组名称"}),s.jsx(G,{children:s.jsx(E,{placeholder:"请输入权限组名称",...r,className:"w-full"})}),s.jsx(L,{children:"权限组名称用于标识不同的用户组,建议使用有意义的名称。"}),s.jsx(B,{})]})}),s.jsxs(C,{className:"gap-2",children:[s.jsx(v,{asChild:!0,children:s.jsx(o,{type:"button",variant:"outline",children:"取消"})}),s.jsxs(o,{type:"submit",disabled:l||!e.formState.isValid,children:[l&&s.jsx(H,{className:"mr-2 h-4 w-4 animate-spin"}),a==="edit"?"更新":"创建"]})]})]})})]})]})}export{J as S};
import{r as d,j as s,B as o,t as x}from"./index-ra1jmRmU.js";import{D as f,e as g,a as b,b as F,c as S,d as D,f as C,g as v}from"./button-BkBuHKqj.js";import{u as N,F as I,a as w,b as y,c as z,d as G,f as L,e as B}from"./form-BdPgCkkB.js";import{I as E}from"./input-BJSapCFH.js";import{z as i,t as O}from"./zod-DftZp2aV.js";import{I as T}from"./iconify-DJqeKjVQ.js";import{X as A}from"./index-vL3ySUIK.js";import{L as H}from"./loader-circle-DZwZUkW0.js";const M=i.object({id:i.number().optional(),name:i.string().min(2,"组名至少需要2个字符").max(50,"组名不能超过50个字符").regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,"组名只能包含字母、数字、中文、下划线和连字符")});function J({refetch:t,dialogTrigger:u,defaultValues:h={name:""},type:a="add"}){const e=N({resolver:O(M),defaultValues:h,mode:"onChange"}),[p,n]=d.useState(!1),[l,m]=d.useState(!1),j=async r=>{try{m(!0);const{data:c}=await A(r);c&&(x.success(a==="edit"?"更新成功":"创建成功"),t&&t(),e.reset(),n(!1))}catch{x.error("操作失败,请重试")}finally{m(!1)}};return s.jsxs(f,{open:p,onOpenChange:n,children:[s.jsx(g,{asChild:!0,children:u||s.jsxs(o,{variant:"outline",size:"sm",className:"space-x-2",children:[s.jsx(T,{icon:"ion:add",className:"h-4 w-4"}),s.jsx("span",{children:"添加权限组"})]})}),s.jsxs(b,{className:"sm:max-w-[425px]",children:[s.jsxs(F,{children:[s.jsx(S,{children:a==="edit"?"编辑权限组":"创建权限组"}),s.jsx(D,{children:a==="edit"?"修改权限组信息,更新后会立即生效。":"创建新的权限组,可以为不同的用户分配不同的权限。"})]}),s.jsx(I,{...e,children:s.jsxs("form",{onSubmit:e.handleSubmit(j),className:"space-y-4",children:[s.jsx(w,{control:e.control,name:"name",render:({field:r})=>s.jsxs(y,{children:[s.jsx(z,{children:"组名称"}),s.jsx(G,{children:s.jsx(E,{placeholder:"请输入权限组名称",...r,className:"w-full"})}),s.jsx(L,{children:"权限组名称用于标识不同的用户组,建议使用有意义的名称。"}),s.jsx(B,{})]})}),s.jsxs(C,{className:"gap-2",children:[s.jsx(v,{asChild:!0,children:s.jsx(o,{type:"button",variant:"outline",children:"取消"})}),s.jsxs(o,{type:"submit",disabled:l||!e.formState.isValid,children:[l&&s.jsx(H,{className:"mr-2 h-4 w-4 animate-spin"}),a==="edit"?"更新":"创建"]})]})]})})]})]})}export{J as S};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{j as r,a as s}from"./index-_xd8OyP8.js";function t({className:a,...e}){return r.jsx("div",{className:s("animate-pulse rounded-md bg-primary/10",a),...e})}export{t as S};
import{j as r,a as s}from"./index-ra1jmRmU.js";function t({className:a,...e}){return r.jsx("div",{className:s("animate-pulse rounded-md bg-primary/10",a),...e})}export{t as S};

View File

@ -1 +1 @@
import{r as s,v as _,j as r,a as S}from"./index-_xd8OyP8.js";import{c as H,u as I,a as M}from"./index-BwSRHYe4.js";import{u as B}from"./index-CRh0M8qI.js";import{u as q}from"./index-BlMNiBlp.js";import{P as g}from"./index-CX6PQ3zO.js";var v="Switch",[z,J]=H(v),[A,O]=z(v),x=s.forwardRef((e,o)=>{const{__scopeSwitch:t,name:a,checked:n,defaultChecked:l,required:i,disabled:c,value:d="on",onCheckedChange:b,form:m,...p}=e,[u,E]=s.useState(null),R=_(o,f=>E(f)),k=s.useRef(!1),w=u?m||!!u.closest("form"):!0,[h=!1,N]=I({prop:n,defaultProp:l,onChange:b});return r.jsxs(A,{scope:t,checked:h,disabled:c,children:[r.jsx(g.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":P(h),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:R,onClick:M(e.onClick,f=>{N(T=>!T),w&&(k.current=f.isPropagationStopped(),k.current||f.stopPropagation())})}),w&&r.jsx(D,{control:u,bubbles:!k.current,name:a,value:d,checked:h,required:i,disabled:c,form:m,style:{transform:"translateX(-100%)"}})]})});x.displayName=v;var C="SwitchThumb",y=s.forwardRef((e,o)=>{const{__scopeSwitch:t,...a}=e,n=O(C,t);return r.jsx(g.span,{"data-state":P(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:o})});y.displayName=C;var D=e=>{const{control:o,checked:t,bubbles:a=!0,...n}=e,l=s.useRef(null),i=B(t),c=q(o);return s.useEffect(()=>{const d=l.current,b=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(b,"checked").set;if(i!==t&&p){const u=new Event("click",{bubbles:a});p.call(d,t),d.dispatchEvent(u)}},[i,t,a]),r.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...n,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function P(e){return e?"checked":"unchecked"}var j=x,F=y;const L=s.forwardRef(({className:e,...o},t)=>r.jsx(j,{className:S("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...o,ref:t,children:r.jsx(F,{className:S("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));L.displayName=j.displayName;export{L as S};
import{r as s,v as _,j as r,a as S}from"./index-ra1jmRmU.js";import{c as H,u as I,a as M}from"./index-OwEZQf1t.js";import{u as B}from"./index-DGqrqZGX.js";import{u as q}from"./index-NvRyusV4.js";import{P as g}from"./index-QSXu8nGm.js";var v="Switch",[z,J]=H(v),[A,O]=z(v),x=s.forwardRef((e,o)=>{const{__scopeSwitch:t,name:a,checked:n,defaultChecked:l,required:i,disabled:c,value:d="on",onCheckedChange:b,form:m,...p}=e,[u,E]=s.useState(null),R=_(o,f=>E(f)),k=s.useRef(!1),w=u?m||!!u.closest("form"):!0,[h=!1,N]=I({prop:n,defaultProp:l,onChange:b});return r.jsxs(A,{scope:t,checked:h,disabled:c,children:[r.jsx(g.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":P(h),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:R,onClick:M(e.onClick,f=>{N(T=>!T),w&&(k.current=f.isPropagationStopped(),k.current||f.stopPropagation())})}),w&&r.jsx(D,{control:u,bubbles:!k.current,name:a,value:d,checked:h,required:i,disabled:c,form:m,style:{transform:"translateX(-100%)"}})]})});x.displayName=v;var C="SwitchThumb",y=s.forwardRef((e,o)=>{const{__scopeSwitch:t,...a}=e,n=O(C,t);return r.jsx(g.span,{"data-state":P(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:o})});y.displayName=C;var D=e=>{const{control:o,checked:t,bubbles:a=!0,...n}=e,l=s.useRef(null),i=B(t),c=q(o);return s.useEffect(()=>{const d=l.current,b=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(b,"checked").set;if(i!==t&&p){const u=new Event("click",{bubbles:a});p.call(d,t),d.dispatchEvent(u)}},[i,t,a]),r.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...n,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function P(e){return e?"checked":"unchecked"}var j=x,F=y;const L=s.forwardRef(({className:e,...o},t)=>r.jsx(j,{className:S("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...o,ref:t,children:r.jsx(F,{className:S("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));L.displayName=j.displayName;export{L as S};

View File

@ -1 +1 @@
import{r as s,j as o,a as t}from"./index-_xd8OyP8.js";const i=s.forwardRef(({className:e,...r},a)=>o.jsx("textarea",{className:t("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:a,...r}));i.displayName="Textarea";export{i as T};
import{r as s,j as o,a as t}from"./index-ra1jmRmU.js";const i=s.forwardRef(({className:e,...r},a)=>o.jsx("textarea",{className:t("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:a,...r}));i.displayName="Textarea";export{i as T};

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as e}from"./user-nav-BBmBVa03.js";/**
import{c as e}from"./user-nav-Ch7kI57y.js";/**
* @license lucide-react v0.399.0 - ISC
*
* This source code is licensed under the ISC license.

View File

@ -1 +1 @@
import{S as l,m as p,n as h,o as d,p as a,q as b,r as o}from"./index-_xd8OyP8.js";import{n as m,s as f}from"./useQuery-mr7Ep0hT.js";var v=class extends l{#e;#i=void 0;#t;#s;constructor(t,s){super(),this.#e=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#e.defaultMutationOptions(t),p(this.options,s)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&h(s.mutationKey)!==h(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#s=s,this.#t?.removeObserver(this),this.#t=this.#e.getMutationCache().build(this.#e,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??d();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){a.batch(()=>{if(this.#s&&this.hasListeners()){const s=this.#i.variables,i=this.#i.context;t?.type==="success"?(this.#s.onSuccess?.(t.data,s,i),this.#s.onSettled?.(t.data,null,s,i)):t?.type==="error"&&(this.#s.onError?.(t.error,s,i),this.#s.onSettled?.(void 0,t.error,s,i))}this.listeners.forEach(s=>{s(this.#i)})})}};function g(t,s){const i=b(),[e]=o.useState(()=>new v(i,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const r=o.useSyncExternalStore(o.useCallback(n=>e.subscribe(a.batchCalls(n)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((n,c)=>{e.mutate(n,c).catch(m)},[e]);if(r.error&&f(e.options.throwOnError,[r.error]))throw r.error;return{...r,mutate:u,mutateAsync:r.mutate}}export{g as u};
import{S as l,m as p,n as h,o as d,p as a,q as b,r as o}from"./index-ra1jmRmU.js";import{n as m,s as f}from"./useQuery-BPONQpNy.js";var v=class extends l{#e;#i=void 0;#t;#s;constructor(t,s){super(),this.#e=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#e.defaultMutationOptions(t),p(this.options,s)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&h(s.mutationKey)!==h(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#s=s,this.#t?.removeObserver(this),this.#t=this.#e.getMutationCache().build(this.#e,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??d();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){a.batch(()=>{if(this.#s&&this.hasListeners()){const s=this.#i.variables,i=this.#i.context;t?.type==="success"?(this.#s.onSuccess?.(t.data,s,i),this.#s.onSettled?.(t.data,null,s,i)):t?.type==="error"&&(this.#s.onError?.(t.error,s,i),this.#s.onSettled?.(void 0,t.error,s,i))}this.listeners.forEach(s=>{s(this.#i)})})}};function g(t,s){const i=b(),[e]=o.useState(()=>new v(i,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const r=o.useSyncExternalStore(o.useCallback(n=>e.subscribe(a.batchCalls(n)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((n,c)=>{e.mutate(n,c).catch(m)},[e]);if(r.error&&f(e.options.throwOnError,[r.error]))throw r.error;return{...r,mutate:u,mutateAsync:r.mutate}}export{g as u};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{j as a}from"./index-_xd8OyP8.js";const i=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})});export{i as u};
import{j as a}from"./index-ra1jmRmU.js";const i=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})});export{i as u};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
<svg height="200" width="200" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(10 8)"><circle cx="176" cy="12" r="4" stroke="#ddd" stroke-width="1.25"/><path d="M20.5.5l23 11m-29 84l-3.79 10.377M27.037 131.4l5.898 2.203-3.46 5.947 6.072 2.392-3.933 5.758m128.733 35.37l.693-9.316 10.292.052.416-9.222 9.274.332M.5 48.5s6.131 6.413 6.847 14.805c.715 8.393-2.52 14.806-2.52 14.806M124.555 90s-7.444 0-13.67 6.192c-6.227 6.192-4.838 12.012-4.838 12.012m2.24 68.626s-4.026-9.025-18.145-9.025-18.145 5.7-18.145 5.7" stroke="#ddd" stroke-linecap="round" stroke-width="1.25"/><path d="M85.716 36.146l5.243-9.521h11.093l5.416 9.521-5.41 9.185H90.953zm63.909 15.479h10.75v10.75h-10.75z" stroke="#ddd" stroke-width="1.25"/><g fill="#ddd"><circle cx="71.5" cy="7.5" r="1.5"/><circle cx="170.5" cy="95.5" r="1.5"/><circle cx="81.5" cy="134.5" r="1.5"/><circle cx="13.5" cy="23.5" r="1.5"/><path d="M93 71h3v3h-3zm33 84h3v3h-3zm-85 18h3v3h-3z"/></g><path d="M39.384 51.122l5.758-4.454 6.453 4.205-2.294 7.363h-7.79zM130.195 4.03l13.83 5.062-10.09 7.048zm-83 95l14.83 5.429-10.82 7.557-4.01-12.987zM5.213 161.495l11.328 20.897L2.265 180z" stroke="#ddd" stroke-width="1.25"/><path d="M149.05 127.468s-.51 2.183.995 3.366c1.56 1.226 8.642-1.895 3.967-7.785-2.367-2.477-6.5-3.226-9.33 0-5.208 5.936 0 17.51 11.61 13.73 12.458-6.257 5.633-21.656-5.073-22.654-6.602-.606-14.043 1.756-16.157 10.268-1.718 6.92 1.584 17.387 12.45 20.476 10.866 3.09 19.331-4.31 19.331-4.31" stroke="#ddd" stroke-linecap="round" stroke-width="1.25"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1,33 +0,0 @@
{
"name": "Xboard",
"description": "Xboard",
"version": "1.0.0",
"images": "",
"configs": [
{
"label": "主题色",
"placeholder": "请选择主题颜色",
"field_name": "theme_color",
"field_type": "select",
"select_options": {
"default": "默认(绿色)",
"blue": "蓝色",
"black": "黑色",
"darkblue": "暗蓝色"
},
"default_value": "default"
},
{
"label": "背景",
"placeholder": "请输入背景图片URL",
"field_name": "background_url",
"field_type": "input"
},
{
"label": "自定义页脚HTML",
"placeholder": "可以实现客服JS代码的加入等",
"field_name": "custom_html",
"field_type": "textarea"
}
]
}

View File

@ -1,40 +0,0 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" />
<title>{{$title}}</title>
<script type="module" crossorigin src="/theme/{{$theme}}/assets/umi.js"></script>
</head>
<body>
<script>
window.routerBase = "/";
window.settings = {
title: '{{$title}}',
assets_path: '/theme/{{$theme}}/assets',
theme: {
color: '{{ $theme_config['theme_color'] ?? "default" }}',
},
version: '{{$version}}',
background_url: '{{$theme_config['background_url']}}',
description: '{{$description}}',
i18n: [
'zh-CN',
'en-US',
'ja-JP',
'vi-VN',
'ko-KR',
'zh-TW',
'fa-IR'
],
logo: '{{$logo}}'
}
</script>
<div id="app"></div>
{!! $theme_config['custom_html'] !!}
</body>
</html>

View File

@ -7,13 +7,14 @@
<title>{{ $title }}</title>
<script>
window.settings = {
base_url: "/",
title: "{{ $title }}",
version: "{{ $version }}",
logo: "{{ $logo }}",
secure_path: "{{ $secure_path }}",
};
</script>
<script type="module" crossorigin src="/assets/admin/assets/index-_xd8OyP8.js"></script>
<script type="module" crossorigin src="/assets/admin/assets/index-ra1jmRmU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/admin/assets/index-B8YrTAgq.css" />
</head>