UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

2 lines (1 loc) 1.5 kB
import{a9 as d,aT as g,bz as v}from"./index-BAS7XAoe.js";const i="mira.pluginSources",s="mira.pluginSourceActive",p="mira.storePluginsUrl",c={id:"official",name:"官方插件源",url:"https://raw.githubusercontent.com/hunmer/mira/refs/heads/main/plugins/plugins/plugins.recommend.json"};function I(){try{const t=localStorage.getItem(i),u=t?JSON.parse(t):[];return Array.isArray(u)?u:[]}catch{return[]}}const e=g(I()),r=g(localStorage.getItem(s)||"");var m;if(!localStorage.getItem(i)){const t=(localStorage.getItem(p)||"").trim();t&&t!==c.url&&e.value.push({id:"legacy",name:"默认源",url:t}),e.value.some(u=>u.url===c.url)||e.value.push({...c}),r.value||(r.value=((m=e.value[0])==null?void 0:m.id)||""),localStorage.setItem(i,JSON.stringify(e.value)),localStorage.setItem(s,r.value)}v(e,t=>localStorage.setItem(i,JSON.stringify(t)),{deep:!0});v(r,t=>localStorage.setItem(s,t||""));function h(){return`src_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,6)}`}function y(){const t=d(()=>e.value.find(a=>a.id===r.value)||null);function u(a,o){const l=(o||"").trim();if(!l)return null;const n={id:h(),name:(a||"").trim()||l,url:l};return e.value.push(n),r.value||(r.value=n.id),n.id}function f(a){var l;const o=e.value.findIndex(n=>n.id===a);o>=0&&e.value.splice(o,1),r.value===a&&(r.value=((l=e.value[0])==null?void 0:l.id)||"")}function S(a){e.value.some(o=>o.id===a)&&(r.value=a)}return{sources:e,activeId:r,activeSource:t,addSource:u,removeSource:f,setActive:S}}export{y as u};