Files
CoreInject/frontend/dist/assets/RX4g3b5N.js
2025-11-16 05:39:11 +08:00

16 lines
5.5 KiB
JavaScript

import{d as a,r as p,w as s,o as e,c as t,a as n,n as l,b as o,e as i,m as u,C as d,P as r,z as c,g as v,t as m,l as h,u as g,H as y,h as b}from"./CdD4XvnD.js"
import{c as k,A as w,_ as f,T as j,a as I}from"./BaSQ3xJt.js"
import{u as C}from"./Bt6cakcM.js"
const V={key:0,class:"status-badge"},_={key:0,class:"badge upgrade"},A={key:1,class:"badge injected"},E={class:"card-content"},D={class:"app-icon-wrapper"},U={class:"app-icon"},$=["src","alt"],B={class:"app-info"},R={class:"app-name"},T={key:0,class:"app-rating"},x={key:1,class:"category-tag"},z={key:2,class:"version-info"},H={key:0,class:"version-item"},L={class:"version-value"},N={key:0,class:"version-full"},P={key:1,class:"version-item latest"},q={class:"version-label"},F={class:"version-value"},G={key:0,class:"version-full"},J={key:2,class:"version-item bundle-id"},K={class:"version-value bundle-id-value"},M={key:3,class:"app-description"},O={class:"app-actions"},Q=["disabled","title"],S={key:4,class:"button-tooltip"},W=I(a({__name:"AppCard",props:{app:{},mode:{default:"list"},showDescription:{type:Boolean,default:!1},updating:{type:Boolean,default:!1}},emits:["updated","openVersionDialog","inject"],setup(a,{emit:I}){const W=a,X=I,Y=y(),Z=p(!1),aa=p(!1),pa=p(null),{toasts:sa,warning:ea,removeToast:ta}=k(),{loadCategoryDictionary:na,getCategoryNames:la}=C(),oa=async()=>{if(W.app.iconId)try{const a=await w.getIcon(W.app.iconId,80,128,128)
pa.value=a,aa.value=!1}catch(a){pa.value=null,aa.value=!0}else pa.value=null}
s(()=>W.app.iconId,()=>{oa()},{immediate:!0}),e(async()=>{await na(),W.app.iconId&&oa()})
const ia=t(()=>W.app.iconId&&pa.value?pa.value:W.app.path&&W.app.hasIcon?w.getAppIconUrl(W.app.bundleId):null),ua=t(()=>W.app.category&&W.app.category.length>0?la(W.app.category).join(", "):""),da=t(()=>{if(!W.app.path||0===W.app.path.length)return!1
const a="upgrade_available"===W.app.status,p=null!==W.app.update&&!0===W.app.update.hasUpdate
return a||p}),ra=t(()=>{var a
return!(W.app.path||(null==(a=W.app.update)?void 0:a.versions)&&0!==W.app.update.versions.length)}),ca=()=>{var a
return W.updating?"处理中...":W.app.path?da.value?"更新":"injected"===W.app.status?"已安装":"supported"===W.app.status?"一键激活":"unsupported"===W.app.status?"不支持":"一键激活":((null==(a=W.app.update)?void 0:a.versions)&&W.app.update.versions.length,"下载")},va=()=>{W.app.path&&Y.push(`/app/${W.app.bundleId}`)},ma=()=>{var a,p
W.app.path?da.value&&(null==(p=W.app.update)?void 0:p.versions)&&W.app.update.versions.length>0?window.dispatchEvent(new CustomEvent("open-version-dialog",{detail:W.app})):da.value||"supported"===W.app.status?X("inject",W.app):"injected"!==W.app.status&&W.app.status:(null==(a=W.app.update)?void 0:a.versions)&&W.app.update.versions.length>0?window.dispatchEvent(new CustomEvent("open-version-dialog",{detail:W.app})):ea("该应用暂无可用的下载版本",3e3)},ha=()=>{Z.value=!0,aa.value=!1},ga=()=>{Z.value=!1,aa.value=!0}
return(p,s)=>{var e,t,y
return b(),n("div",{class:l(["app-card",[`mode-${a.mode}`,{"not-installed":!a.app.path}]]),onClick:va},["list"===a.mode?(b(),n("div",V,[da.value?(b(),n("div",_,[...s[0]||(s[0]=[i("span",null,"可更新",-1)])])):"injected"===a.app.status?(b(),n("div",A,[...s[1]||(s[1]=[i("span",null,"已注入",-1)])])):o("",!0)])):o("",!0),i("div",E,[i("div",D,[i("div",U,[ia.value?d((b(),n("img",{key:0,src:ia.value,alt:a.app.name,onLoad:ha,onError:ga},null,40,$)),[[r,Z.value&&!aa.value]]):o("",!0),d(i("div",{class:"icon-placeholder"},c(a.app.name.charAt(0).toUpperCase()),513),[[r,!ia.value||!Z.value||aa.value]])])]),i("div",B,[i("h3",R,c(a.app.name),1),"search"===a.mode?(b(),n("div",T,[u(f,{icon:"fluent-color:star-24",class:"star-icon"}),s[2]||(s[2]=i("span",null,"4.5",-1))])):o("",!0),ua.value?(b(),n("div",x,[i("span",null,c(ua.value),1)])):o("",!0),"list"===a.mode?(b(),n("div",z,[a.app.path?(b(),n("div",H,[s[3]||(s[3]=i("span",{class:"version-label"},"当前",-1)),i("span",L,[v(c(a.app.version||"未知")+" ",1),a.app.bundleVersion?(b(),n("span",N,"("+c(a.app.bundleVersion)+")",1)):o("",!0)])])):o("",!0),(null==(e=a.app.update)?void 0:e.latestVersion)?(b(),n("div",P,[i("span",q,c(a.app.path?"最新":"版本"),1),i("span",F,[v(c(a.app.update.latestVersion)+" ",1),(null==(y=null==(t=a.app.update.versions)?void 0:t[0])?void 0:y.fullVersion)?(b(),n("span",G,"("+c(a.app.update.versions[0].fullVersion)+")",1)):o("",!0)])])):o("",!0),a.app.path?o("",!0):(b(),n("div",J,[s[4]||(s[4]=i("span",{class:"version-label"},"包名",-1)),i("span",K,c(a.app.bundleId),1)]))])):o("",!0),"search"===a.mode&&a.showDescription?(b(),n("div",M,c(`${W.app.name}是一款优秀的应用程序,提供丰富的功能和良好的用户体验。`),1)):o("",!0)]),i("div",O,[i("button",{class:l(["action-button",!W.app.path&&ra.value?"disabled":da.value?"warning":"injected"===W.app.status?"success":"supported"===W.app.status?"primary":"unsupported"===W.app.status?"disabled":"primary"]),onClick:m(ma,["stop"]),disabled:a.updating||ra.value,title:!W.app.path&&ra.value?"该应用暂无可用的下载版本":W.updating?"正在处理中...":""},[da.value?(b(),h(f,{key:0,icon:"mdi:arrow-down-circle",class:"button-icon"})):"supported"===W.app.status?(b(),h(f,{key:1,icon:"mdi:key",class:"button-icon"})):"injected"===W.app.status?(b(),h(f,{key:2,icon:"mdi:check-circle",class:"button-icon"})):W.app.path?o("",!0):(b(),h(f,{key:3,icon:"mdi:download",class:"button-icon"})),i("span",null,c(ca()),1),ra.value&&!W.app.path?(b(),n("span",S," 该应用暂无可用的下载版本 ")):o("",!0)],10,Q)])]),u(j,{toasts:g(sa),onRemove:g(ta)},null,8,["toasts","onRemove"])],2)}}}),[["__scopeId","data-v-8a1a07a3"]])
export{W as A}