This commit is contained in:
1 parent
b9655a5ab1
commit
e292824161
122 files changed
+90002
-69
No files matched your search
@@ -0,0 +1 @@
|
||||
import{r as i,j as e}from"./react-vendor-jWT2yUdV.js";import{u as X,k as D,c as L,b as M,aI as Y,O as ee,Q as se,R as ae,S as te,T as re,U as ne,P as le}from"./index-DiaaLdUu.js";import{z as m}from"./react-hot-toast-cGcFZPSt.js";import{a as oe}from"./index-DvErMbt6.js";import{j as O}from"./index-BBhZPeTB.js";import{E as A}from"./empty_state-BmDJmEaB.js";import{P as ce}from"./page_header-Dr2OAQrb.js";import{a as ie}from"./chunk-SXMLSBOY-NckgDZ9w.js";import{a as de,c as ue}from"./chunk-5PILOUBS-KHYNqMZE.js";import{c as fe}from"./chunk-TE6SZS6W-DGowl7ka.js";import{c as V}from"./chunk-NAV3ZXLI-ChbUTMf0.js";import{s as Q}from"./chunk-J6JGI6RM-Djlxjgjl.js";import{t as $}from"./chunk-6LIX6LVT-B246pOuK.js";import{g as xe,t as pe}from"./index-DE7yoXMZ.js";import{P as E}from"./plugin_manager-OIjldREQ.js";import{u as he}from"./use-dialog-CRIMuzeE.js";import{i as J}from"./chunk-2QAN2V2R-B2qCPZrG.js";import{s as K,l as B}from"./chunk-KVDW62ZT-CGYYmJoP.js";import"./qface-BZLvZXJ8.js";import"./react-router-dom-C6k78GT4.js";import"./iconBase-B7bT1FlI.js";import"./index-BsnVex0g.js";import"./chunk-M3MASYO7-B4fjH-eW.js";import"./chunk-EN4B57RQ-Ief8qCCd.js";import"./chunk-UX7UMZL5-CMHjUaC_.js";import"./useToggle-B3ZYBe5S.js";import"./usePress-BrNwsdVw.js";import"./useFocusable-DA5Croun.js";import"./chunk-WQVQ7P2I-BJd1EiqP.js";import"./useHover-DC1o5-bm.js";import"./chunk-SLABUSGS-Cmz8sGrU.js";import"./Item-D8Sud-UP.js";import"./SelectionManager-Dl9uHsLK.js";import"./DOMLayoutDelegate-DOgfSALU.js";import"./chunk-AXSF7SRE-Cr4elNVq.js";function me(a){if(a)try{const o=localStorage.getItem(D.token);if(!o)return a;const c=JSON.parse(o),x=new URL(a,window.location.origin);return x.searchParams.set("webui_token",c),x.pathname+x.search}catch{return a}}const ge=({data:a,onToggleStatus:o,onUninstall:c,onConfig:x,hasConfig:p=!1})=>{const{name:h,version:u,author:f,description:y,status:v,icon:z}=a,R=v==="active",[k,w]=i.useState(!1),[C,P]=i.useState(!1),[l]=X(D.backgroundImage,""),g=!!l,_=me(z)||`https://avatar.vercel.sh/${encodeURIComponent(h)}`,N=()=>{w(!0),o().finally(()=>w(!1))},S=()=>{w(!0),c().finally(()=>w(!1))};return e.jsxs(de,{className:L("group w-full backdrop-blur-xl rounded-2xl overflow-hidden transition-all duration-300","hover:shadow-lg hover:shadow-primary-500/10 hover:-translate-y-0.5","border border-white/60 dark:border-white/10 hover:border-primary/40",g?"bg-black/25 dark:bg-black/30":"bg-white/65 dark:bg-white/[0.04]"),shadow:"none",children:[e.jsxs(ue,{className:"p-4 flex flex-col gap-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(ie,{src:_,name:f||"?",className:"flex-shrink-0",size:"sm",isBordered:!0,radius:"full",color:"default"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"text-[15px] font-bold text-default-900 dark:text-white truncate leading-tight",title:h,children:h}),e.jsxs("p",{className:"text-[11px] text-default-400 mt-0.5 truncate",children:["by ",e.jsx("span",{className:"font-medium",children:f||"未知"})]})]})]}),e.jsx(V,{size:"sm",variant:"flat",color:v==="active"?"success":v==="stopped"?"warning":"default",className:"flex-shrink-0 font-medium h-6 px-1",children:v==="active"?"运行中":v==="stopped"?"已停止":"已禁用"})]}),e.jsx("div",{className:"relative min-h-[2.5rem] cursor-pointer group/desc",onClick:()=>P(!C),children:e.jsx($,{content:y,isDisabled:!y||y.length<50||C,placement:"bottom",className:"max-w-[280px]",delay:500,children:e.jsx("p",{className:L("text-sm text-default-600 dark:text-default-400 leading-relaxed transition-all duration-300",C?"line-clamp-none":"line-clamp-2"),children:y||"暂无描述"})})}),e.jsx("div",{children:e.jsxs(V,{size:"sm",variant:"flat",color:"primary",className:"h-5 text-xs font-semibold px-0.5",classNames:{content:"px-1"},children:["v",u]})})]}),e.jsxs(fe,{className:"px-4 pb-4 pt-0 gap-3",children:[e.jsx(Q,{isDisabled:k,isSelected:R,onValueChange:N,size:"sm",color:"success",classNames:{wrapper:"group-data-[selected=true]:bg-success"},children:e.jsx("span",{className:"text-xs font-medium text-default-600",children:R?"已启用":"已禁用"})}),e.jsx("div",{className:"flex-1"}),p&&e.jsx($,{content:"插件配置",children:e.jsx(M,{isIconOnly:!0,radius:"full",size:"sm",variant:"light",color:"primary",onPress:x,children:e.jsx(xe,{size:20})})}),e.jsx($,{content:"卸载插件",color:"danger",children:e.jsx(M,{isIconOnly:!0,radius:"full",size:"sm",variant:"light",color:"danger",onPress:S,isDisabled:k,children:e.jsx(pe,{size:20})})})]})]})};function H(a,o=60){if(a.length<=o)return a;const c=a.includes("\\")?"\\":"/",x=a.split(c);if(x.length<=3)return a.substring(0,o-3)+"...";const p=x[0],h=x.slice(-2).join(c),u=`${p}${c}...${c}${h}`;return u.length>o?a.substring(0,o-3)+"...":u}function be(a,o=100){if(a.length<=o)return a;const c=/[A-Za-z]:\\[^\s'"]+/g,x=/\/[^\s'"]+(?:\/[^\s'"]+)+/g;let p=a;const h=a.match(c);if(h)for(const f of
Line truncated
|
||||
Reference in new issue
Block a user