mira-app-server
Version:
Mira Server - standalone server application using mira-app-core
2 lines (1 loc) • 34.9 kB
JavaScript
import{aJ as _,cM as J,c8 as C,bZ as c,at as h,dq as o,cc as x,cB as X,G as K,aw as ge,dm as me,bk as fe,av as P,ak as S,a1 as k,bL as p,c6 as z,bB as M,ax as m,aI as pe,cR as W,B as Z,as as s,aH as i,aG as f,cr as d,x as O,cb as j,cO as Y,s as be,bM as ve,b7 as _e,q as ye,r as he,m as xe,k as ke,_ as we,u as Ce,c_ as Pe,al as N,bV as Te,db as Le,cH as De,W as Se,t as Ae,p as Be,l as qe,j as Fe}from"./index-OOzZz4T6.js";import{B as $}from"./index--EpjhOjd.js";import{f as ee,e as te,d as se,T as re}from"./TooltipTrigger-BN8IaDgz.js";import{S as Ie}from"./Switch-QckDRkQW.js";import{a as Oe,C as je}from"./CardContent-Kj1V4j7G.js";import{I as Me}from"./Input-CZG1tOaA.js";import"./usePrimitiveElement-CCN0lZVt.js";const[Re,Ee]=ge("AvatarRoot");var Ne=_({__name:"AvatarRoot",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(r){return J(),Ee({imageLoadingStatus:C("idle")}),(t,n)=>(c(),h(X(K),{"as-child":t.asChild,as:t.as},{default:o(()=>[x(t.$slots,"default")]),_:3},8,["as-child","as"]))}}),Ve=Ne,ze=_({__name:"AvatarFallback",props:{delayMs:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(r){const t=r,n=Re();J();const e=C(t.delayMs===void 0);return me(a=>{if(t.delayMs&&fe){const g=window.setTimeout(()=>{e.value=!0},t.delayMs);a(()=>{window.clearTimeout(g)})}}),(a,g)=>e.value&&X(n).imageLoadingStatus.value!=="loaded"?(c(),h(X(K),{key:0,"as-child":a.asChild,as:a.as},{default:o(()=>[x(a.$slots,"default")]),_:3},8,["as-child","as"])):P("v-if",!0)}}),He=ze;const Ue=_({__name:"Avatar",props:{class:{type:null,required:!1}},setup(r,{expose:t}){t();const e={props:r,get AvatarRoot(){return Ve},get cn(){return S}};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}});function Qe(r,t,n,e,a,g){return c(),h(e.AvatarRoot,{"data-slot":"avatar",class:p(e.cn("relative flex size-8 shrink-0 overflow-hidden rounded-full",e.props.class))},{default:o(()=>[x(r.$slots,"default")]),_:3},8,["class"])}const Xe=k(Ue,[["render",Qe],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/avatar/Avatar.vue"]]),Ge=_({__name:"AvatarFallback",props:{delayMs:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},class:{type:null,required:!1}},setup(r,{expose:t}){t();const n=r,e=z(n,"class"),a={props:n,delegatedProps:e,get AvatarFallback(){return He},get cn(){return S}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function Je(r,t,n,e,a,g){return c(),h(e.AvatarFallback,M({"data-slot":"avatar-fallback"},e.delegatedProps,{class:e.cn("bg-muted flex size-full items-center justify-center rounded-full",e.props.class)}),{default:o(()=>[x(r.$slots,"default")]),_:3},16,["class"])}const Ke=k(Ge,[["render",Je],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/avatar/AvatarFallback.vue"]]),We=_({__name:"Alert",props:{class:{type:null,required:!1},variant:{type:null,required:!1}},setup(r,{expose:t}){t();const e={props:r,get cn(){return S},get alertVariants(){return st}};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}});function Ze(r,t,n,e,a,g){return c(),m("div",{"data-slot":"alert",class:p(e.cn(e.alertVariants({variant:n.variant}),e.props.class)),role:"alert"},[x(r.$slots,"default")],2)}const Ye=k(We,[["render",Ze],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/alert/Alert.vue"]]),$e=_({__name:"AlertDescription",props:{class:{type:null,required:!1}},setup(r,{expose:t}){t();const e={props:r,get cn(){return S}};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}});function et(r,t,n,e,a,g){return c(),m("div",{"data-slot":"alert-description",class:p(e.cn("text-muted-foreground col-start-2 text-sm [&_p]:leading-relaxed",e.props.class))},[x(r.$slots,"default")],2)}const tt=k($e,[["render",et],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/alert/AlertDescription.vue"]]),st=pe("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}}),rt=_({__name:"IntegrationCard",props:{plugin:{type:Object,required:!0}},emits:["toggle","showDetails","reload","remove"],setup(r,{expose:t,emit:n}){t();const e=r,{t:a}=W(),g=n,B={props:e,t:a,emit:g,getPluginStatusClass:v=>{switch(v){case"loaded":return"bg-green-500 text-white";case"loading":return"bg-primary text-white";case"error":return"bg-destructive text-white";case"disabled":return"bg-muted text-white";default:return"bg-muted text-white"}},getStatusText:v=>{switch(v){case"loaded":return a("business.integrationCard.statusLoaded");case"loading":return a("business.integrationCard.statusLoading");case"error":return a("business.integrationCard.statusError");case"disabled":return a("business.integrationCard.statusDisabled");default:return a("business.integrationCard.statusUnknown")}},getStatusVariant:v=>{switch(v){case"loaded":return"default";case"loading":return"secondary";case"error":return"destructive";case"disabled":return"outline";default:return"secondary"}},getTagClass:v=>{const q=["bg-primary dark:bg-primary/50 text-primary dark:text-primary","bg-green-100 dark:bg-green-900/50 text-green-600 dark:text-green-400","bg-yellow-100 dark:bg-yellow-900/50 text-yellow-600 dark:text-yellow-400","bg-destructive dark:bg-destructive/50 text-destructive dark:text-destructive","bg-primary dark:bg-primary/50 text-primary dark:text-primary","bg-purple-100 dark:bg-purple-900/50 text-purple-600 dark:text-purple-400","bg-pink-100 dark:bg-pink-900/50 text-pink-600 dark:text-pink-400","bg-teal-100 dark:bg-teal-900/50 text-teal-600 dark:text-teal-400","bg-orange-100 dark:bg-orange-900/50 text-orange-600 dark:text-orange-400","bg-cyan-100 dark:bg-cyan-900/50 text-cyan-600 dark:text-cyan-400","bg-lime-100 dark:bg-lime-900/50 text-lime-600 dark:text-lime-400","bg-emerald-100 dark:bg-emerald-900/50 text-emerald-600 dark:text-emerald-400","bg-violet-100 dark:bg-violet-900/50 text-violet-600 dark:text-violet-400","bg-fuchsia-100 dark:bg-fuchsia-900/50 text-fuchsia-600 dark:text-fuchsia-400","bg-rose-100 dark:bg-rose-900/50 text-rose-600 dark:text-rose-400"];let T=0;for(let I=0;I<v.length;I++){const U=v.charCodeAt(I);T=(T<<5)-T+U,T=T&T}const F=Math.abs(T)%q.length;return q[F]},handleToggle:v=>{g("toggle",e.plugin,v)},get Avatar(){return Xe},get AvatarFallback(){return Ke},get Badge(){return $},get Button(){return Z},get Tooltip(){return re},get TooltipContent(){return se},get TooltipProvider(){return te},get TooltipTrigger(){return ee},get Alert(){return Ye},get AlertDescription(){return tt},get Switch(){return Ie}};return Object.defineProperty(B,"__isScriptSetup",{enumerable:!1,value:!0}),B}}),at={class:"bg-[var(--card-light)] dark:bg-[var(--card-dark)] p-6 rounded-lg border border-[var(--border-light)] dark:border-[var(--border-dark)] transition-all duration-200 hover:-translate-y-0.5 hover:shadow-[0_4px_12px_rgba(0,0,0,0.15)]"},nt={class:"flex justify-between items-start mb-4"},it={class:"flex items-center"},ot={class:"flex items-center gap-2 mb-1"},lt={class:"font-semibold text-lg text-[var(--text-light-primary)] dark:text-[var(--text-dark-primary)]"},dt={class:"text-sm text-[var(--text-light-secondary)] dark:text-[var(--text-dark-secondary)] mb-4 line-clamp-2"},ut={key:0,class:"flex flex-wrap gap-2 mb-4"},ct={key:1,class:"mb-3"},gt={class:"text-xs"},mt={class:"flex justify-between items-center mt-4"},ft={class:"flex gap-2"};function pt(r,t,n,e,a,g){return c(),m("div",at,[s("div",nt,[s("div",it,[i(e.Avatar,{class:p(["mr-4 h-10 w-10 flex items-center justify-center rounded-full text-sm font-bold",e.getPluginStatusClass(n.plugin.status)])},{default:o(()=>[i(e.AvatarFallback,null,{default:o(()=>[f(d(n.plugin.config.pluginName.charAt(0).toUpperCase()),1)]),_:1})]),_:1},8,["class"]),s("div",null,[s("div",ot,[s("h3",lt,d(n.plugin.config.pluginName),1),i(e.Badge,{variant:e.getStatusVariant(n.plugin.status),class:"text-xs"},{default:o(()=>[f(d(e.getStatusText(n.plugin.status)),1)]),_:1},8,["variant"])]),i(e.Badge,{variant:"secondary",class:"text-xs"},{default:o(()=>[f(d(n.plugin.config.version),1)]),_:1})])]),i(e.Switch,{checked:n.plugin.status==="loaded","onUpdate:checked":e.handleToggle},null,8,["checked"])]),s("p",dt,d(n.plugin.config.description),1),n.plugin.config.tags&&n.plugin.config.tags.length>0?(c(),m("div",ut,[(c(!0),m(O,null,j(n.plugin.config.tags,l=>(c(),m("span",{key:l,class:p([e.getTagClass(l),"text-xs font-medium px-2 py-1 rounded"])},d(l),3))),128))])):P("",!0),n.plugin.error?(c(),m("div",ct,[i(e.Alert,{variant:"destructive",class:"p-2"},{default:o(()=>[i(e.AlertDescription,null,{default:o(()=>[s("span",gt,d(n.plugin.error),1)]),_:1})]),_:1})])):P("",!0),s("div",mt,[s("div",ft,[i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:t[0]||(t[0]=l=>r.$emit("showDetails",n.plugin)),variant:"outline",size:"sm"},{default:o(()=>t[3]||(t[3]=[s("i",{class:"pi pi-info-circle"},null,-1)])),_:1})]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationCard.details")),1)]),_:1})]),_:1})]),_:1}),i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:t[1]||(t[1]=l=>r.$emit("reload",n.plugin)),variant:"outline",size:"sm"},{default:o(()=>t[4]||(t[4]=[s("i",{class:"pi pi-refresh"},null,-1)])),_:1})]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationCard.reload")),1)]),_:1})]),_:1})]),_:1})]),i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:t[2]||(t[2]=l=>r.$emit("remove",n.plugin)),variant:"destructive",size:"sm"},{default:o(()=>t[5]||(t[5]=[s("i",{class:"pi pi-trash"},null,-1)])),_:1})]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationCard.uninstall")),1)]),_:1})]),_:1})]),_:1})])])}const bt=k(rt,[["render",pt],["__scopeId","data-v-f82fcfec"],["__file","D:/mira_typescript/packages/mira-client/src/renderer/components/business/IntegrationCard.vue"]]),vt=_({__name:"Sheet",props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1}},emits:["update:open"],setup(r,{expose:t,emit:n}){t();const e=r,a=n,g=Y(e,a),l={props:e,emits:a,forwarded:g,get DialogRoot(){return be}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}});function _t(r,t,n,e,a,g){return c(),h(e.DialogRoot,M({"data-slot":"sheet"},e.forwarded),{default:o(l=>[x(r.$slots,"default",ve(_e(l)))]),_:3},16)}const yt=k(vt,[["render",_t],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/sheet/Sheet.vue"]]),ht=_({__name:"SheetOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},class:{type:null,required:!1}},setup(r,{expose:t}){t();const n=r,e=z(n,"class"),a={props:n,delegatedProps:e,get DialogOverlay(){return ye},get cn(){return S}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function xt(r,t,n,e,a,g){return c(),h(e.DialogOverlay,M({"data-slot":"sheet-overlay",class:e.cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e.props.class)},e.delegatedProps),{default:o(()=>[x(r.$slots,"default")]),_:3},16,["class"])}const kt=k(ht,[["render",xt],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/sheet/SheetOverlay.vue"]]),wt=_({inheritAttrs:!1,__name:"SheetContent",props:{class:{type:null,required:!1},side:{type:String,required:!1,default:"right"},forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(r,{expose:t,emit:n}){t();const e=r,a=n,g=z(e,"class","side"),l=Y(g,a),b={props:e,emits:a,delegatedProps:g,forwarded:l,get X(){return we},get DialogClose(){return ke},get DialogContent(){return xe},get DialogPortal(){return he},get cn(){return S},SheetOverlay:kt};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Ct(r,t,n,e,a,g){return c(),h(e.DialogPortal,null,{default:o(()=>[i(e.SheetOverlay),i(e.DialogContent,M({"data-slot":"sheet-content",class:e.cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",n.side==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",n.side==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",n.side==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",n.side==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e.props.class)},{...r.$attrs,...e.forwarded}),{default:o(()=>[x(r.$slots,"default"),i(e.DialogClose,{class:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none"},{default:o(()=>[i(e.X,{class:"size-4"}),t[0]||(t[0]=s("span",{class:"sr-only"},"Close",-1))]),_:1})]),_:3},16,["class"])]),_:3})}const Pt=k(wt,[["render",Ct],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/sheet/SheetContent.vue"]]),Tt=_({__name:"SheetHeader",props:{class:{type:null,required:!1}},setup(r,{expose:t}){t();const e={props:r,get cn(){return S}};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}});function Lt(r,t,n,e,a,g){return c(),m("div",{"data-slot":"sheet-header",class:p(e.cn("flex flex-col gap-1.5 p-4",e.props.class))},[x(r.$slots,"default")],2)}const Dt=k(Tt,[["render",Lt],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/sheet/SheetHeader.vue"]]),St=_({__name:"SheetTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},class:{type:null,required:!1}},setup(r,{expose:t}){t();const n=r,e=z(n,"class"),a={props:n,delegatedProps:e,get DialogTitle(){return Ce},get cn(){return S}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function At(r,t,n,e,a,g){return c(),h(e.DialogTitle,M({"data-slot":"sheet-title",class:e.cn("text-foreground font-semibold",e.props.class)},e.delegatedProps),{default:o(()=>[x(r.$slots,"default")]),_:3},16,["class"])}const Bt=k(St,[["render",At],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/sheet/SheetTitle.vue"]]),V=12,qt=_({__name:"IntegrationsList",setup(r,{expose:t}){t();const n=Le(),e=De(),{t:a}=W(),g=Pe(),l=C("local"),b=C("all"),R=C(""),E=C(!1),H=C(!1),B=C(!1),v=C(null),q=C(1),T=N(()=>{let u=g.localPlugins||[];if(b.value!=="all"&&(u=u.filter(w=>{const L=w.config.category||"other",D=w.config.tags||[];switch(b.value){case"communication":return L==="communication"||D.includes("通讯")||D.includes("communication");case"documentation":return L==="documentation"||D.includes("文档")||D.includes("documentation");case"productivity":return L==="productivity"||D.includes("效率")||D.includes("productivity");case"development":return L==="development"||D.includes("开发")||D.includes("development");default:return!0}})),R.value){const w=R.value.toLowerCase();u=u.filter(L=>L.config.pluginName.toLowerCase().includes(w)||L.config.description.toLowerCase().includes(w)||L.config.author.toLowerCase().includes(w))}const y=(q.value-1)*V,A=y+V;return u.slice(y,A)}),F=N(()=>{const u=g.localPlugins?.length||0;return Math.ceil(u/V)}),I=N(()=>F.value>1),U=N(()=>{const u=[],y=F.value,A=q.value;for(let w=Math.max(1,A-1);w<=Math.min(y,A+1);w++)u.push(w);return u}),ae=()=>{switch(b.value){case"all":return a("business.integrationsList.categoryAll");case"communication":return a("business.integrationsList.categoryCommunication");case"documentation":return a("business.integrationsList.categoryDocumentation");case"productivity":return a("business.integrationsList.categoryProductivity");case"development":return a("business.integrationsList.categoryDevelopment");default:return a("business.integrationsList.categoryDefault")}},ne=()=>{switch(b.value){case"all":return a("business.integrationsList.descAll");case"communication":return a("business.integrationsList.descCommunication");case"documentation":return a("business.integrationsList.descDocumentation");case"productivity":return a("business.integrationsList.descProductivity");case"development":return a("business.integrationsList.descDevelopment");default:return a("business.integrationsList.descDefault")}},ie=async(u,y)=>{try{y?await g.enableLocalPlugin(u.config.pluginId):await g.disableLocalPlugin(u.config.pluginId)}catch(A){n.add({severity:"error",summary:a("business.integrationsList.toggleFailed"),detail:A instanceof Error?A.message:a("business.integrationsList.unknownError"),life:5e3})}},oe=u=>{v.value=u,H.value=!0},le=async u=>{try{await g.reloadLocalPlugin(u.config.pluginId),n.add({severity:"success",summary:a("business.integrationsList.reloadSuccess"),detail:u.config.pluginName,life:3e3})}catch(y){n.add({severity:"error",summary:a("business.integrationsList.reloadFailed"),detail:y instanceof Error?y.message:a("business.integrationsList.unknownError"),life:5e3})}},de=u=>{e.require({message:a("business.integrationsList.confirmUninstallMsg",{name:u.config.pluginName}),header:a("business.integrationsList.confirmUninstallHeader"),accept:async()=>{try{await g.uninstallLocalPlugin(u.config.pluginId,u.directory,u.config.pluginName),n.add({severity:"success",summary:a("business.integrationsList.uninstallSuccess"),detail:u.config.pluginName,life:3e3})}catch(y){n.add({severity:"error",summary:a("business.integrationsList.uninstallFailed"),detail:y instanceof Error?y.message:a("business.integrationsList.unknownError"),life:5e3})}}})},Q=async()=>{E.value=!0;try{const u=await g.discoverLocalPlugins();u.success||n.add({severity:"error",summary:a("business.integrationsList.refreshFailed"),detail:u.message||a("business.integrationsList.unknownError"),life:5e3})}catch(u){n.add({severity:"error",summary:a("business.integrationsList.refreshFailed"),detail:u instanceof Error?u.message:a("business.integrationsList.unknownError"),life:5e3})}finally{E.value=!1}},ue=async()=>{B.value=!1;try{const u=await g.selectPluginDirectory(a("business.integrationsList.addFromFolderDesc"));u.success&&u.data&&(n.add({severity:"success",summary:a("business.integrationsList.pluginAdded"),detail:a("business.integrationsList.scanningPlugin"),life:3e3}),await Q())}catch(u){n.add({severity:"error",summary:a("business.integrationsList.addFailed"),detail:u instanceof Error?u.message:a("business.integrationsList.unknownError"),life:5e3})}},ce=async()=>{B.value=!1,n.add({severity:"info",summary:a("business.integrationsList.developingTitle"),detail:a("business.integrationsList.developingDesc"),life:3e3})};Te(()=>{Q()});const G={toast:n,confirm:e,t:a,pluginStore:g,activeTab:l,selectedCategory:b,searchQuery:R,isRefreshing:E,showDetailsDrawer:H,showAddPluginDialog:B,selectedPlugin:v,currentPage:q,itemsPerPage:V,filteredLocalPlugins:T,totalPages:F,shouldShowPagination:I,visiblePages:U,getCategoryTitle:ae,getCategoryDescription:ne,handlePluginToggle:ie,showPluginDetails:oe,reloadPlugin:le,removePlugin:de,refreshPlugins:Q,selectPluginDirectory:ue,installPluginFromFile:ce,IntegrationCard:bt,get Button(){return Z},get Card(){return je},get CardContent(){return Oe},get Badge(){return $},get Dialog(){return Fe},get DialogContent(){return qe},get DialogHeader(){return Be},get DialogTitle(){return Ae},get Sheet(){return yt},get SheetContent(){return Pt},get SheetHeader(){return Dt},get SheetTitle(){return Bt},get Input(){return Me},get Tooltip(){return re},get TooltipContent(){return se},get TooltipProvider(){return te},get TooltipTrigger(){return ee},get Textarea(){return Se}};return Object.defineProperty(G,"__isScriptSetup",{enumerable:!1,value:!0}),G}}),Ft={class:"integrations-list h-full bg-background-light dark:bg-background-dark"},It={class:"flex h-full"},Ot={class:"w-64 bg-card-light dark:bg-card-dark p-6 border-r border-border-light dark:border-border-dark flex flex-col"},jt={class:"space-y-2 flex-grow mb-6"},Mt={class:"bg-muted dark:bg-muted rounded-lg p-1 flex"},Rt={class:"flex-1 flex flex-col"},Et={class:"flex items-center justify-between px-8 py-4 border-b border-border-light dark:border-border-dark bg-card-light dark:bg-card-dark"},Nt={class:"flex items-center"},Vt={class:"text-xl font-semibold text-text-light-primary dark:text-text-dark-primary"},zt={class:"flex items-center space-x-3"},Ht={class:"flex-1 p-8"},Ut={class:"flex justify-between items-center mb-6"},Qt={class:"text-text-light-secondary dark:text-text-dark-secondary"},Xt={class:"flex items-center space-x-4"},Gt={class:"relative"},Jt={key:0,class:"grid grid-cols-1 md:grid-cols-2 lg gap-6 flex-grow auto-rows-max"},Kt={key:0,class:"col-span-full"},Wt={class:"text-xl font-medium text-foreground mb-3"},Zt={class:"text-muted-foreground dark:text-muted-foreground mb-6 max-w-md mx-auto"},Yt={key:1,class:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6 flex-grow auto-rows-max"},$t={class:"text-xl font-medium text-foreground mb-3"},es={class:"text-muted-foreground dark:text-muted-foreground mb-6 max-w-md mx-auto"},ts={key:2,class:"mt-6 flex justify-end"},ss={class:"flex items-center text-sm text-text-light-secondary dark:text-text-dark-secondary"},rs=["disabled"],as={class:"flex items-center space-x-2 mx-2"},ns=["onClick"],is=["disabled"],os={key:0,class:"space-y-4"},ls={class:"grid grid-cols-2 gap-4"},ds={class:"block text-sm font-medium mb-1"},us={class:"block text-sm font-medium mb-1"},cs={class:"block text-sm font-medium mb-1"},gs={class:"grid grid-cols-2 gap-4"},ms={class:"block text-sm font-medium mb-1"},fs={class:"block text-sm font-medium mb-1"},ps={key:0},bs={class:"block text-sm font-medium mb-1"},vs={class:"flex flex-wrap gap-1"},_s={key:1},ys={class:"block text-sm font-medium mb-1"},hs={class:"space-y-1"},xs={class:"bg-muted dark:bg-muted px-2 py-1 rounded"},ks={class:"block text-sm font-medium mb-1"},ws={key:2},Cs={class:"block text-sm font-medium mb-1"},Ps={class:"space-y-4"},Ts={class:"text-muted-foreground dark:text-muted-foreground"},Ls={class:"grid gap-3"},Ds={class:"flex items-center p-2"},Ss={class:"font-medium"},As={class:"text-sm text-muted-foreground"},Bs={class:"flex items-center p-2"},qs={class:"font-medium"},Fs={class:"text-sm text-muted-foreground"};function Is(r,t,n,e,a,g){return c(),m("div",Ft,[s("div",It,[s("aside",Ot,[s("nav",jt,[s("button",{onClick:t[0]||(t[0]=l=>e.selectedCategory="all"),class:p(["flex items-center w-full px-4 py-2 text-sm font-medium rounded-lg transition-colors no-underline",e.selectedCategory==="all"?"text-primary bg-primary/10":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},[t[15]||(t[15]=s("i",{class:"material-icons mr-3"},"all_inclusive",-1)),f(" "+d(r.$t("business.integrationsList.allIntegrations")),1)],2),s("button",{onClick:t[1]||(t[1]=l=>e.selectedCategory="communication"),class:p(["flex items-center w-full px-4 py-2 text-sm font-medium rounded-lg transition-colors no-underline",e.selectedCategory==="communication"?"text-primary bg-primary/10":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},[t[16]||(t[16]=s("i",{class:"material-icons mr-3"},"chat_bubble_outline",-1)),f(" "+d(r.$t("business.integrationsList.communication")),1)],2),s("button",{onClick:t[2]||(t[2]=l=>e.selectedCategory="documentation"),class:p(["flex items-center w-full px-4 py-2 text-sm font-medium rounded-lg transition-colors no-underline",e.selectedCategory==="documentation"?"text-primary bg-primary/10":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},[t[17]||(t[17]=s("i",{class:"material-icons mr-3"},"description",-1)),f(" "+d(r.$t("business.integrationsList.documentation")),1)],2),s("button",{onClick:t[3]||(t[3]=l=>e.selectedCategory="productivity"),class:p(["flex items-center w-full px-4 py-2 text-sm font-medium rounded-lg transition-colors no-underline",e.selectedCategory==="productivity"?"text-primary bg-primary/10":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},[t[18]||(t[18]=s("i",{class:"material-icons mr-3"},"trending_up",-1)),f(" "+d(r.$t("business.integrationsList.productivity")),1)],2),s("button",{onClick:t[4]||(t[4]=l=>e.selectedCategory="development"),class:p(["flex items-center w-full px-4 py-2 text-sm font-medium rounded-lg transition-colors no-underline",e.selectedCategory==="development"?"text-primary bg-primary/10":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},[t[19]||(t[19]=s("i",{class:"material-icons mr-3"},"code",-1)),f(" "+d(r.$t("business.integrationsList.development")),1)],2)]),s("div",null,[s("div",Mt,[s("button",{onClick:t[5]||(t[5]=l=>e.activeTab="local"),class:p(["flex-1 text-sm py-1 px-2 rounded-md",e.activeTab==="local"?"bg-white dark:bg-card-dark text-text-light-primary dark:text-text-dark-primary shadow":"text-text-light-secondary dark:text-text-dark-secondary"])},d(r.$t("business.integrationsList.localPlugins")),3),s("button",{onClick:t[6]||(t[6]=l=>e.activeTab="online"),class:p(["flex-1 text-sm py-1 px-2 rounded-md",e.activeTab==="online"?"bg-white dark:bg-card-dark text-text-light-primary dark:text-text-dark-primary shadow":"text-text-light-secondary dark:text-text-dark-secondary"])},d(r.$t("business.integrationsList.onlinePlugins")),3)])])]),s("main",Rt,[s("header",Et,[s("div",Nt,[i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:t[7]||(t[7]=l=>r.$router.go(-1)),variant:"ghost",class:"mr-4"},{default:o(()=>t[20]||(t[20]=[s("i",{class:"pi pi-arrow-left"},null,-1)])),_:1})]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationsList.back")),1)]),_:1})]),_:1})]),_:1}),s("h1",Vt,d(e.getCategoryTitle()),1)]),s("div",zt,[i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:e.refreshPlugins,disabled:e.isRefreshing,variant:"outline",class:"w-10 h-10"},{default:o(()=>t[21]||(t[21]=[s("i",{class:"pi pi-refresh"},null,-1)])),_:1},8,["disabled"])]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationsList.refreshList")),1)]),_:1})]),_:1})]),_:1}),i(e.TooltipProvider,null,{default:o(()=>[i(e.Tooltip,null,{default:o(()=>[i(e.TooltipTrigger,{"as-child":""},{default:o(()=>[i(e.Button,{onClick:t[8]||(t[8]=l=>e.showAddPluginDialog=!0),class:"w-10 h-10 rounded-full"},{default:o(()=>t[22]||(t[22]=[s("i",{class:"pi pi-plus"},null,-1)])),_:1})]),_:1}),i(e.TooltipContent,{side:"top"},{default:o(()=>[f(d(r.$t("business.integrationsList.addNew")),1)]),_:1})]),_:1})]),_:1})])]),s("div",Ht,[s("div",Ut,[s("div",null,[s("p",Qt,d(e.getCategoryDescription()),1)]),s("div",Xt,[s("div",Gt,[t[23]||(t[23]=s("i",{class:"material-icons absolute left-3 top-1/2 -translate-y-1/2 text-text-light-secondary dark:text-text-dark-secondary"},"search",-1)),i(e.Input,{modelValue:e.searchQuery,"onUpdate:modelValue":t[9]||(t[9]=l=>e.searchQuery=l),placeholder:r.$t("business.integrationsList.searchPlaceholder"),class:"pl-10 pr-4 py-2 w-64 border border-border-light dark:border-border-dark bg-card-light dark:bg-card-dark rounded-lg focus:outline-none focus:ring-2 focus:ring-primary text-text-light-primary dark:text-text-dark-primary"},null,8,["modelValue","placeholder"])])])]),e.activeTab==="local"?(c(),m("div",Jt,[(c(!0),m(O,null,j(e.filteredLocalPlugins,l=>(c(),h(e.IntegrationCard,{key:l.config.pluginId,plugin:l,onToggle:e.handlePluginToggle,onShowDetails:e.showPluginDetails,onReload:e.reloadPlugin,onRemove:e.removePlugin},null,8,["plugin"]))),128)),e.filteredLocalPlugins.length===0?(c(),m("div",Kt,[i(e.Card,{class:"text-center py-12"},{default:o(()=>[i(e.CardContent,null,{default:o(()=>[t[24]||(t[24]=s("div",{class:"mb-6"},[s("i",{class:"pi pi-box text-6xl text-muted-foreground"})],-1)),s("h3",Wt,d(e.searchQuery?r.$t("business.integrationsList.noMatchTitle"):r.$t("business.integrationsList.emptyTitle")),1),s("p",Zt,d(e.searchQuery?r.$t("business.integrationsList.noMatchDesc"):r.$t("business.integrationsList.emptyDesc")),1),e.searchQuery?P("",!0):(c(),h(e.Button,{key:0,onClick:t[10]||(t[10]=l=>e.showAddPluginDialog=!0)},{default:o(()=>[f(d(r.$t("business.integrationsList.addPlugin")),1)]),_:1}))]),_:1})]),_:1})])):P("",!0)])):(c(),m("div",Yt,[i(e.Card,{class:"text-center py-12 col-span-full"},{default:o(()=>[i(e.CardContent,null,{default:o(()=>[t[25]||(t[25]=s("div",{class:"mb-6"},[s("i",{class:"pi pi-cloud text-6xl text-muted-foreground"})],-1)),s("h3",$t,d(r.$t("business.integrationsList.onlineDevelopingTitle")),1),s("p",es,d(r.$t("business.integrationsList.onlineDevelopingDesc")),1)]),_:1})]),_:1})])),e.shouldShowPagination?(c(),m("div",ts,[s("div",ss,[s("button",{onClick:t[11]||(t[11]=l=>e.currentPage--),disabled:e.currentPage<=1,class:"p-2 rounded-md hover:bg-muted dark:hover:bg-muted disabled:opacity-50"},t[26]||(t[26]=[s("i",{class:"material-icons text-base"},"chevron_left",-1)]),8,rs),s("div",as,[(c(!0),m(O,null,j(e.visiblePages,l=>(c(),m("button",{key:l,onClick:b=>e.currentPage=l,class:p(["w-6 h-6 rounded-full text-xs font-bold",l===e.currentPage?"bg-primary text-white":"text-text-light-secondary dark:text-text-dark-secondary hover:bg-muted dark:hover:bg-muted"])},d(l),11,ns))),128))]),s("button",{onClick:t[12]||(t[12]=l=>e.currentPage++),disabled:e.currentPage>=e.totalPages,class:"p-2 rounded-md hover:bg-muted dark:hover:bg-muted disabled:opacity-50"},t[27]||(t[27]=[s("i",{class:"material-icons text-base"},"chevron_right",-1)]),8,is)])])):P("",!0)])])]),i(e.Sheet,{open:e.showDetailsDrawer,"onUpdate:open":t[13]||(t[13]=l=>e.showDetailsDrawer=l)},{default:o(()=>[i(e.SheetContent,{side:"right",class:"w-full md:w-80 lg:w-[30rem] h-full overflow-y-auto"},{default:o(()=>[i(e.SheetHeader,null,{default:o(()=>[i(e.SheetTitle,null,{default:o(()=>[f(d(r.$t("business.integrationsList.detailTitle",{name:e.selectedPlugin?.config.pluginName})),1)]),_:1})]),_:1}),e.selectedPlugin?(c(),m("div",os,[s("div",ls,[s("div",null,[s("label",ds,d(r.$t("business.integrationsList.pluginId")),1),i(e.Input,{value:e.selectedPlugin.config.pluginId,readonly:"",class:"w-full"},null,8,["value"])]),s("div",null,[s("label",us,d(r.$t("business.integrationsList.version")),1),i(e.Input,{value:e.selectedPlugin.config.version,readonly:"",class:"w-full"},null,8,["value"])])]),s("div",null,[s("label",cs,d(r.$t("business.integrationsList.description")),1),i(e.Textarea,{value:e.selectedPlugin.config.description,readonly:"",rows:"3",class:"w-full"},null,8,["value"])]),s("div",gs,[s("div",null,[s("label",ms,d(r.$t("business.integrationsList.author")),1),i(e.Input,{value:e.selectedPlugin.config.author,readonly:"",class:"w-full"},null,8,["value"])]),s("div",null,[s("label",fs,d(r.$t("business.integrationsList.homepage")),1),i(e.Input,{value:e.selectedPlugin.config.homepage||r.$t("business.integrationsList.none"),readonly:"",class:"w-full"},null,8,["value"])])]),e.selectedPlugin.config.dependencies&&e.selectedPlugin.config.dependencies.length>0?(c(),m("div",ps,[s("label",bs,d(r.$t("business.integrationsList.dependencies")),1),s("div",vs,[(c(!0),m(O,null,j(e.selectedPlugin.config.dependencies,l=>(c(),h(e.Badge,{key:l,variant:"secondary",class:"text-xs"},{default:o(()=>[f(d(l),1)]),_:2},1024))),128))])])):P("",!0),e.selectedPlugin.config.hotkey&&Object.keys(e.selectedPlugin.config.hotkey).length>0?(c(),m("div",_s,[s("label",ys,d(r.$t("business.integrationsList.hotkey")),1),s("div",hs,[(c(!0),m(O,null,j(e.selectedPlugin.config.hotkey,(l,b)=>(c(),m("div",{key:b,class:"flex justify-between text-sm"},[s("code",xs,d(b),1),s("span",null,d(l),1)]))),128))])])):P("",!0),s("div",null,[s("label",ks,d(r.$t("business.integrationsList.directory")),1),i(e.Input,{value:e.selectedPlugin.directory,readonly:"",class:"w-full"},null,8,["value"])]),e.selectedPlugin.error?(c(),m("div",ws,[s("label",Cs,d(r.$t("business.integrationsList.errorMessage")),1),i(e.Textarea,{value:e.selectedPlugin.error,readonly:"",rows:"3",class:"w-full"},null,8,["value"])])):P("",!0)])):P("",!0)]),_:1})]),_:1},8,["open"]),i(e.Dialog,{open:e.showAddPluginDialog,"onUpdate:open":t[14]||(t[14]=l=>e.showAddPluginDialog=l)},{default:o(()=>[i(e.DialogContent,{class:"sm:max-w-[500px]"},{default:o(()=>[i(e.DialogHeader,null,{default:o(()=>[i(e.DialogTitle,null,{default:o(()=>[f(d(r.$t("business.integrationsList.addDialogTitle")),1)]),_:1})]),_:1}),s("div",Ps,[s("p",Ts,d(r.$t("business.integrationsList.addDialogDesc")),1),s("div",Ls,[i(e.Card,{onClick:e.selectPluginDirectory,class:"cursor-pointer hover:shadow-md transition-shadow border-2 border-transparent hover:border-primary/20"},{default:o(()=>[i(e.CardContent,null,{default:o(()=>[s("div",Ds,[t[28]||(t[28]=s("i",{class:"pi pi-folder-open text-2xl text-primary mr-4"},null,-1)),s("div",null,[s("h4",Ss,d(r.$t("business.integrationsList.addFromFolder")),1),s("p",As,d(r.$t("business.integrationsList.addFromFolderDesc")),1)])])]),_:1})]),_:1}),i(e.Card,{onClick:e.installPluginFromFile,class:"cursor-pointer hover:shadow-md transition-shadow border-2 border-transparent hover:border-primary/20"},{default:o(()=>[i(e.CardContent,null,{default:o(()=>[s("div",Bs,[t[29]||(t[29]=s("i",{class:"pi pi-file-zip text-2xl text-primary mr-4"},null,-1)),s("div",null,[s("h4",qs,d(r.$t("business.integrationsList.installFromFile")),1),s("p",Fs,d(r.$t("business.integrationsList.installFromFileDesc")),1)])])]),_:1})]),_:1})])])]),_:1})]),_:1},8,["open"])])}const zs=k(qt,[["render",Is],["__scopeId","data-v-2059a20c"],["__file","D:/mira_typescript/packages/mira-client/src/renderer/components/business/IntegrationsList.vue"]]);export{zs as default};