Files
claude-relay-service/assets/index-B2CfBDav.js
2025-09-02 06:49:31 +00:00

24 lines
20 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-DXZTLx7z.js","assets/vue-vendor-Bsazo-x0.js","assets/ThemeToggle-Ov1cO6jp.js","assets/ThemeToggle-BbfeH87u.css","assets/element-plus-C5sO7D8l.js","assets/vendor-C8JtMHuO.js","assets/element-plus-nq7etrhL.css","assets/LoginView-tn0RQdqM.css","assets/UserLoginView-XAbPznqK.js","assets/UserDashboardView-BV-9x9TW.js","assets/ConfirmModal-BdGKP07t.js","assets/ConfirmModal-BvCtxUSJ.css","assets/UserManagementView-Pha1mUmv.js","assets/MainLayout-Ccct9O1s.js","assets/LogoTitle-CcmnZyby.js","assets/LogoTitle-DXipqypn.css","assets/MainLayout-CCQ2LruH.css","assets/DashboardView-CBuJUlAB.js","assets/chart-DVxB1Mya.js","assets/DashboardView-cbgZleS2.css","assets/ApiKeysView-C7mh_2Bs.js","assets/WindowCountdown-BTXjZ8Dc.js","assets/CustomDropdown-DXKQAdh7.js","assets/CustomDropdown-jjrvIxsf.css","assets/ApiKeysView-D4skmT0y.css","assets/AccountsView-CWEn_7rB.js","assets/AccountsView-uPnWnmh5.css","assets/TutorialView-CrgbxRRM.js","assets/TutorialView-BVycHwR_.css","assets/SettingsView-YFLjw_GQ.js","assets/SettingsView-FL10WL44.css","assets/ApiStatsView-jG2QGk2D.js","assets/ApiStatsView-Dxaz10PE.css"])))=>i.map(i=>d[i]);
import{aP as V,aQ as X,aR as Y,r as g,c as S,o as M,q as N,V as H,I as j,z as p,x as k,ac as Z,Q as ee,a5 as z,y as A,C as $,L as O,P as I,Y as J,B as te,R as C,J as se,T as oe,O as ae,av as ne,aM as re,aS as ie}from"./vue-vendor-Bsazo-x0.js";import{i as ce,z as le}from"./element-plus-C5sO7D8l.js";import{P as w}from"./vendor-C8JtMHuO.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function a(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}})();const ue="modulepreload",de=function(t){return"/admin-next/"+t},K={},_=function(e,s,a){let o=Promise.resolve();if(s&&s.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(s.map(l=>{if(l=de(l),l in K)return;K[l]=!0;const d=l.endsWith(".css"),m=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${m}`))return;const n=document.createElement("link");if(n.rel=d?"stylesheet":ue,d||(n.as="script"),n.crossOrigin="",n.href=l,c&&n.setAttribute("nonce",c),document.head.appendChild(n),d)return new Promise((u,h)=>{n.addEventListener("load",u),n.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${l}`)))})}))}function r(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return o.then(i=>{for(const c of i||[])c.status==="rejected"&&r(c.reason);return e().catch(r)})};let x=null,he=0;function B(t,e="info",s="",a=3e3){x||(x=document.createElement("div"),x.id="toast-container",x.style.cssText="position: fixed; top: 20px; right: 20px; z-index: 10000;",document.body.appendChild(x));const o=++he,r=document.createElement("div");r.className=`toast rounded-2xl p-4 shadow-2xl backdrop-blur-sm toast-${e}`,r.style.cssText=`
position: relative;
min-width: 320px;
max-width: 500px;
margin-bottom: 16px;
transform: translateX(100%);
transition: transform 0.3s ease-in-out;
`;const i={success:"fas fa-check-circle",error:"fas fa-times-circle",warning:"fas fa-exclamation-triangle",info:"fas fa-info-circle"};return r.innerHTML=`
<div class="flex items-start gap-3">
<div class="flex-shrink-0 mt-0.5">
<i class="${i[e]} text-lg"></i>
</div>
<div class="flex-1 min-w-0">
${s?`<h4 class="font-semibold text-sm mb-1">${s}</h4>`:""}
<p class="text-sm opacity-90 leading-relaxed">${t}</p>
</div>
<button onclick="this.parentElement.parentElement.remove()"
class="flex-shrink-0 text-white/70 hover:text-white transition-colors ml-2">
<i class="fas fa-times"></i>
</button>
</div>
`,x.appendChild(r),setTimeout(()=>{r.style.transform="translateX(0)"},10),a>0&&setTimeout(()=>{r.style.transform="translateX(100%)",setTimeout(()=>{r.remove()},300)},a),o}const fe=Object.freeze(Object.defineProperty({__proto__:null,showToast:B},Symbol.toStringTag,{value:"Module"})),b="/users",F=V("user",{state:()=>({user:null,isAuthenticated:!1,sessionToken:null,loading:!1,config:null}),getters:{isLoggedIn:t=>t.isAuthenticated&&t.user,userName:t=>{var e,s;return((e=t.user)==null?void 0:e.displayName)||((s=t.user)==null?void 0:s.username)},userRole:t=>{var e;return(e=t.user)==null?void 0:e.role}},actions:{async login(t){this.loading=!0;try{const e=await w.post(`${b}/login`,t);if(e.data.success)return this.user=e.data.user,this.sessionToken=e.data.sessionToken,this.isAuthenticated=!0,localStorage.setItem("userToken",this.sessionToken),localStorage.setItem("userData",JSON.stringify(this.user)),this.setAuthHeader(),e.data;throw new Error(e.data.message||"Login failed")}catch(e){throw this.clearAuth(),e}finally{this.loading=!1}},async logout(){try{this.sessionToken&&await w.post(`${b}/logout`,{},{headers:{"x-user-token":this.sessionToken}})}catch(t){console.error("Logout request failed:",t)}finally{this.clearAuth()}},async checkAuth(){const t=localStorage.getItem("userToken"),e=localStorage.getItem("userData"),s=localStorage.getItem("userConfig");if(!t||!e)return this.clearAuth(),!1;try{return this.sessionToken=t,this.user=JSON.parse(e),this.config=s?JSON.parse(s):null,this.isAuthenticated=!0,this.setAuthHeader(),await this.getUserProfile(),!0}catch(a){return console.error("Auth check failed:",a),this.clearAuth(),!1}},async getUserProfile(){var t,e,s,a;try{const o=await w.get(`${b}/profile`);if(o.data.success)return this.user=o.data.user,this.config=o.data.config,localStorage.setItem("userData",JSON.stringify(this.user)),localStorage.setItem("userConfig",JSON.stringify(this.config)),o.data.user}catch(o){throw(((t=o.response)==null?void 0:t.status)===401||((e=o.response)==null?void 0:e.status)===403)&&(this.clearAuth(),((s=o.response)==null?void 0:s.status)===403)?new Error(((a=o.response.data)==null?void 0:a.message)||"Your account has been disabled"):o}},async getUserApiKeys(t=!1){try{const e={};t&&(e.includeDeleted="true");const s=await w.get(`${b}/api-keys`,{params:e});return s.data.success?s.data.apiKeys:[]}catch(e){throw console.error("Failed to fetch API keys:",e),e}},async createApiKey(t){try{return(await w.post(`${b}/api-keys`,t)).data}catch(e){throw console.error("Failed to create API key:",e),e}},async deleteApiKey(t){try{return(await w.delete(`${b}/api-keys/${t}`)).data}catch(e){throw console.error("Failed to delete API key:",e),e}},async getUserUsageStats(t={}){try{const e=await w.get(`${b}/usage-stats`,{params:t});return e.data.success?e.data.stats:null}catch(e){throw console.error("Failed to fetch usage stats:",e),e}},clearAuth(){this.user=null,this.sessionToken=null,this.isAuthenticated=!1,this.config=null,localStorage.removeItem("userToken"),localStorage.removeItem("userData"),localStorage.removeItem("userConfig"),delete w.defaults.headers.common["x-user-token"]},setAuthHeader(){this.sessionToken&&(w.defaults.headers.common["x-user-token"]=this.sessionToken)},setupAxiosInterceptors(){w.interceptors.response.use(t=>t,t=>{var e,s;if(((e=t.response)==null?void 0:e.status)===403){const a=(s=t.response.data)==null?void 0:s.message;a&&(a.includes("disabled")||a.includes("Account disabled"))&&(this.clearAuth(),B(a,"error"),window.location.pathname!=="/user-login"&&(window.location.href="/user-login"))}return Promise.reject(t)})}}}),D={basePath:"/admin-next/",apiPrefix:""};function me(t=""){return t&&!t.startsWith("/")&&(t="/"+t),D.basePath+(t.startsWith("#")?t:"#"+t)}function pe(){return me("/login")}const ge=()=>_(()=>import("./LoginView-DXZTLx7z.js"),__vite__mapDeps([0,1,2,3,4,5,6,7])),ve=()=>_(()=>import("./UserLoginView-XAbPznqK.js"),__vite__mapDeps([8,1,2,3,4,5,6,7])),ye=()=>_(()=>import("./UserDashboardView-BV-9x9TW.js"),__vite__mapDeps([9,1,2,3,10,11,4,5,6,7])),_e=()=>_(()=>import("./UserManagementView-Pha1mUmv.js"),__vite__mapDeps([12,1,10,11,5,4,6,7])),E=()=>_(()=>import("./MainLayout-Ccct9O1s.js"),__vite__mapDeps([13,1,14,15,2,3,4,5,6,16])),we=()=>_(()=>import("./DashboardView-CBuJUlAB.js"),__vite__mapDeps([17,4,1,5,6,18,19])),Te=()=>_(()=>import("./ApiKeysView-C7mh_2Bs.js"),__vite__mapDeps([20,4,1,5,6,21,22,23,24])),Ae=()=>_(()=>import("./AccountsView-CWEn_7rB.js"),__vite__mapDeps([25,4,1,5,6,10,11,22,23,26])),be=()=>_(()=>import("./TutorialView-CrgbxRRM.js"),__vite__mapDeps([27,1,4,5,6,28])),ke=()=>_(()=>import("./SettingsView-YFLjw_GQ.js"),__vite__mapDeps([29,1,4,5,6,30])),xe=()=>_(()=>import("./ApiStatsView-jG2QGk2D.js"),__vite__mapDeps([31,1,14,15,2,3,5,21,27,4,6,28,32])),Ee=[{path:"/",redirect:()=>{const t=window.location.pathname,e=D.basePath.replace(/\/$/,"");return t===e||t===e+"/","/api-stats"}},{path:"/login",name:"Login",component:ge,meta:{requiresAuth:!1}},{path:"/admin-login",redirect:"/login"},{path:"/user-login",name:"UserLogin",component:ve,meta:{requiresAuth:!1,userAuth:!0}},{path:"/user-dashboard",name:"UserDashboard",component:ye,meta:{requiresUserAuth:!0}},{path:"/api-stats",name:"ApiStats",component:xe,meta:{requiresAuth:!1}},{path:"/dashboard",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"Dashboard",component:we}]},{path:"/api-keys",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"ApiKeys",component:Te}]},{path:"/accounts",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"Accounts",component:Ae}]},{path:"/tutorial",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"Tutorial",component:be}]},{path:"/settings",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"Settings",component:ke}]},{path:"/user-management",component:E,meta:{requiresAuth:!0},children:[{path:"",name:"UserManagement",component:_e}]},{path:"/:pathMatch(.*)*",redirect:"/api-stats"}],U=X({history:Y(D.basePath),routes:Ee});U.beforeEach(async(t,e,s)=>{const a=W(),o=F();if(console.log("路由导航:",{to:t.path,from:e.path,fullPath:t.fullPath,requiresAuth:t.meta.requiresAuth,requiresUserAuth:t.meta.requiresUserAuth,isAuthenticated:a.isAuthenticated,isUserAuthenticated:o.isAuthenticated}),t.path===e.path&&t.fullPath===e.fullPath)return s();if(t.meta.requiresUserAuth){if(!o.isAuthenticated)try{if(!await o.checkAuth())return s("/user-login")}catch(r){if(r.message&&r.message.includes("disabled")){const{showToast:i}=await _(async()=>{const{showToast:c}=await Promise.resolve().then(()=>fe);return{showToast:c}},void 0);i(r.message,"error")}return s("/user-login")}return s()}t.path==="/api-stats"||t.path.startsWith("/api-stats")?s():t.path==="/user-login"?o.isAuthenticated?s("/user-dashboard"):s():t.meta.requiresAuth&&!a.isAuthenticated?s("/login"):t.path==="/login"&&a.isAuthenticated?s("/dashboard"):s()});const G=D.apiPrefix;function P(t){return t.startsWith("/")||(t="/"+t),G+t}class Ie{constructor(){this.baseURL=G}getAuthToken(){return localStorage.getItem("authToken")||null}buildConfig(e={}){const s={headers:{"Content-Type":"application/json",...e.headers},...e},a=this.getAuthToken();return a&&(s.headers.Authorization=`Bearer ${a}`),s}async handleResponse(e){if(e.status===401){const a=window.location.pathname+window.location.hash;throw a.includes("/login")||a.endsWith("/")||(localStorage.removeItem("authToken"),window.location.href=pe()),new Error("Unauthorized")}const s=e.headers.get("content-type");if(s&&s.includes("application/json")){const a=await e.json();if(!e.ok)throw new Error(a.message||`HTTP ${e.status}`);return a}if(!e.ok)throw new Error(`HTTP ${e.status}: ${e.statusText}`);return e}async get(e,s={}){const a=P(e),o=this.buildConfig({...s,method:"GET"});try{const r=await fetch(a,o);return await this.handleResponse(r)}catch(r){throw console.error("API GET Error:",r),r}}async post(e,s=null,a={}){const o=P(e),r=this.buildConfig({...a,method:"POST",body:s?JSON.stringify(s):void 0});try{const i=await fetch(o,r);return await this.handleResponse(i)}catch(i){throw console.error("API POST Error:",i),i}}async put(e,s=null,a={}){const o=P(e),r=this.buildConfig({...a,method:"PUT",body:s?JSON.stringify(s):void 0});try{const i=await fetch(o,r);return await this.handleResponse(i)}catch(i){throw console.error("API PUT Error:",i),i}}async patch(e,s=null,a={}){const o=P(e),r=this.buildConfig({...a,method:"PATCH",body:s?JSON.stringify(s):void 0});try{const i=await fetch(o,r);return await this.handleResponse(i)}catch(i){throw console.error("API PATCH Error:",i),i}}async delete(e,s={}){const a=P(e),{data:o,...r}=s,i=this.buildConfig({...r,method:"DELETE",body:o?JSON.stringify(o):void 0});try{const c=await fetch(a,i);return await this.handleResponse(c)}catch(c){throw console.error("API DELETE Error:",c),c}}}const L=new Ie,W=V("auth",()=>{const t=g(!1),e=g(localStorage.getItem("authToken")||""),s=g(""),a=g(""),o=g(!1),r=g({siteName:"Claude Relay Service",siteIcon:"",siteIconData:"",faviconData:""}),i=g(!0),c=S(()=>!!e.value&&t.value),l=S(()=>e.value),d=S(()=>({username:s.value}));async function m(f){o.value=!0,a.value="";try{const v=await L.post("/web/auth/login",f);v.success?(e.value=v.token,s.value=v.username||f.username,t.value=!0,localStorage.setItem("authToken",v.token),await U.push("/dashboard")):a.value=v.message||"登录失败"}catch(v){a.value=v.message||"登录失败,请检查用户名和密码"}finally{o.value=!1}}function n(){t.value=!1,e.value="",s.value="",localStorage.removeItem("authToken"),U.push("/login")}function u(){e.value&&(t.value=!0,h())}async function h(){try{const f=await L.get("/web/auth/user");f.success&&f.user&&(s.value=f.user.username),(await L.get("/admin/dashboard")).success||n()}catch{n()}}async function T(){i.value=!0;try{const f=await L.get("/admin/oem-settings");if(f.success&&f.data){if(r.value={...r.value,...f.data},f.data.siteIconData||f.data.siteIcon){const v=document.querySelector("link[rel*='icon']")||document.createElement("link");v.type="image/x-icon",v.rel="shortcut icon",v.href=f.data.siteIconData||f.data.siteIcon,document.getElementsByTagName("head")[0].appendChild(v)}f.data.siteName&&(document.title=`${f.data.siteName} - 管理后台`)}}catch(f){console.error("加载OEM设置失败:",f)}finally{i.value=!1}}return{isLoggedIn:t,authToken:e,username:s,loginError:a,loginLoading:o,oemSettings:r,oemLoading:i,isAuthenticated:c,token:l,user:d,login:m,logout:n,checkAuth:u,loadOemSettings:T}}),y={LIGHT:"light",DARK:"dark",AUTO:"auto"},Pe=V("theme",()=>{const t=g(y.AUTO),e=g(!1),s=S(()=>t.value===y.DARK?!0:t.value===y.LIGHT?!1:e.value),a=S(()=>s.value?y.DARK:y.LIGHT),o=()=>{const n=window.matchMedia("(prefers-color-scheme: dark)");e.value=n.matches;const u=localStorage.getItem("themeMode");u&&Object.values(y).includes(u)?t.value=u:t.value=y.AUTO,r(),l()},r=()=>{const n=document.documentElement;s.value?n.classList.add("dark"):n.classList.remove("dark")},i=n=>{Object.values(y).includes(n)&&(t.value=n)},c=()=>{const n=[y.LIGHT,y.DARK,y.AUTO],h=(n.indexOf(t.value)+1)%n.length;t.value=n[h]};M(t,n=>{localStorage.setItem("themeMode",n),r()}),M(e,()=>{t.value===y.AUTO&&r()});const l=()=>{const n=window.matchMedia("(prefers-color-scheme: dark)"),u=h=>{e.value=h.matches};return e.value=n.matches,n.addEventListener("change",u),()=>{n.removeEventListener("change",u)}};return{themeMode:t,isDarkMode:s,currentTheme:a,systemPrefersDark:e,ThemeMode:y,initTheme:o,setThemeMode:i,cycleThemeMode:c,watchSystemTheme:l,toggleTheme:()=>{c()},setTheme:n=>{n==="dark"?i(y.DARK):n==="light"&&i(y.LIGHT)}}}),q=(t,e)=>{const s=t.__vccOpts||t;for(const[a,o]of e)s[a]=o;return s},Se={class:"toast-container"},Le=["onClick"],Ce={class:"toast-content"},Oe={class:"toast-icon"},Ue={class:"toast-body"},De={key:0,class:"toast-title"},Re={class:"toast-message"},$e=["onClick"],Ve={__name:"ToastNotification",setup(t,{expose:e}){const s=g([]);let a=0;const o=d=>{const m={success:"fas fa-check-circle",error:"fas fa-exclamation-circle",warning:"fas fa-exclamation-triangle",info:"fas fa-info-circle"};return m[d]||m.info},r=(d,m="info",n=null,u=5e3)=>{const h=++a,T={id:h,message:d,type:m,title:n,duration:u,isVisible:!1};return s.value.push(T),setTimeout(()=>{T.isVisible=!0},10),u>0&&setTimeout(()=>{i(h)},u),h},i=d=>{const m=s.value.findIndex(n=>n.id===d);if(m>-1){const n=s.value[m];n.isVisible=!1,setTimeout(()=>{const u=s.value.findIndex(h=>h.id===d);u>-1&&s.value.splice(u,1)},300)}},c=()=>{s.value.forEach(d=>{d.isVisible=!1}),setTimeout(()=>{s.value.length=0},300)},l=(d,m="info",n=null,u=5e3)=>r(d,m,n,u);return N(()=>{window.showToast=l}),H(()=>{window.showToast===l&&delete window.showToast}),e({showToast:l,removeToast:i,clearAllToasts:c}),(d,m)=>(A(),j(z,{to:"body"},[p("div",Se,[(A(!0),k(ee,null,Z(s.value,n=>(A(),k("div",{key:n.id,class:$(["toast",`toast-${n.type}`,n.isVisible?"toast-show":"toast-hide"]),onClick:u=>i(n.id)},[p("div",Ce,[p("div",Oe,[p("i",{class:$(o(n.type))},null,2)]),p("div",Ue,[n.title?(A(),k("div",De,I(n.title),1)):O("",!0),p("div",Re,I(n.message),1)]),p("button",{class:"toast-close",onClick:J(u=>i(n.id),["stop"])},m[0]||(m[0]=[p("i",{class:"fas fa-times"},null,-1)]),8,$e)]),n.duration>0?(A(),k("div",{key:0,class:"toast-progress",style:te({animationDuration:`${n.duration}ms`})},null,4)):O("",!0)],10,Le))),128))])]))}},Ne=q(Ve,[["__scopeId","data-v-c8b24ff5"]]),qe={class:"modal-content mx-auto w-full max-w-md p-6"},Me={class:"mb-6 flex items-start gap-4"},Ke={class:"flex-1"},He={class:"mb-2 text-lg font-semibold text-gray-900 dark:text-white"},je={class:"whitespace-pre-line leading-relaxed text-gray-700 dark:text-gray-400"},ze={class:"flex items-center justify-end gap-3"},Je=["disabled"],Be=["disabled"],Fe={key:0,class:"loading-spinner mr-2"},Ge={__name:"ConfirmDialog",setup(t,{expose:e}){const s=g(!1),a=g(!1),o=g(""),r=g(""),i=g("确认"),c=g("取消");let l=null;const d=(h,T,f="确认",v="取消")=>new Promise(Q=>{o.value=h,r.value=T,i.value=f,c.value=v,s.value=!0,a.value=!1,l=Q}),m=()=>{a.value||(a.value=!0,setTimeout(()=>{s.value=!1,a.value=!1,l&&(l(!0),l=null)},200))},n=()=>{a.value||(s.value=!1,l&&(l(!1),l=null))},u=h=>{s.value&&(h.key==="Escape"?n():h.key==="Enter"&&!h.shiftKey&&!h.ctrlKey&&!h.altKey&&m())};return N(()=>{window.showConfirm=d,document.addEventListener("keydown",u)}),H(()=>{window.showConfirm===d&&delete window.showConfirm,document.removeEventListener("keydown",u)}),e({showConfirm:d}),(h,T)=>(A(),j(z,{to:"body"},[C(oe,{appear:"",name:"modal"},{default:se(()=>[s.value?(A(),k("div",{key:0,class:"modal fixed inset-0 z-[100] flex items-center justify-center p-4",onClick:J(n,["self"])},[p("div",qe,[p("div",Me,[T[0]||(T[0]=p("div",{class:"flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-amber-500 to-amber-600"},[p("i",{class:"fas fa-exclamation-triangle text-lg text-white"})],-1)),p("div",Ke,[p("h3",He,I(o.value),1),p("div",je,I(r.value),1)])]),p("div",ze,[p("button",{class:"btn bg-gray-100 px-6 py-3 text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600",disabled:a.value,onClick:n},I(c.value),9,Je),p("button",{class:$(["btn btn-warning px-6 py-3",{"cursor-not-allowed opacity-50":a.value}]),disabled:a.value,onClick:m},[a.value?(A(),k("div",Fe)):O("",!0),ae(" "+I(i.value),1)],10,Be)])])])):O("",!0)]),_:1})]))}},We=q(Ge,[["__scopeId","data-v-6b3390a6"]]),Qe={id:"app"},Xe={__name:"App",setup(t){const e=W(),s=Pe(),a=g(),o=g();return N(()=>{s.initTheme(),s.watchSystemTheme(),e.checkAuth(),e.loadOemSettings()}),(r,i)=>{const c=ne("router-view");return A(),k("div",Qe,[C(c),C(Ne,{ref_key:"toastRef",ref:a},null,512),C(We,{ref_key:"confirmRef",ref:o},null,512)])}}},Ye=q(Xe,[["__scopeId","data-v-dab04b7e"]]),R=re(Ye),Ze=ie();R.use(Ze);R.use(U);R.use(ce,{locale:le});const et=F();et.setupAxiosInterceptors();R.mount("#app");export{q as _,Pe as a,F as b,L as c,B as s,W as u};