mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-11 23:45:11 +08:00
添加了docs目录及其静态资源文件,支持前端文档和演示页面部署。新增dist-electron/main.js,实现Electron主进程窗口加载本地docs或开发服务器。更新.gitignore,允许docs目录纳入版本控制。
2 lines
75 KiB
JavaScript
2 lines
75 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./OverviewView-Eaupz5BG.js","./vendor-others-CUjrprN5.js","./game-logic-CfBcTF_c.js","./game-config-D-D7cMgJ.js","./rolldown-runtime-tX5UdD3f.js","./vendor-others-BMPyaZWq.css","./vendor-reka-ui-CZQh7FLl.js","./vendor-vueuse-C7EbLx--.js","./vendor-crypto-Ce_BCn-h.js","./vendor-utils-Dg-HLkEU.js","./vendor-pinia-DP9x75p8.js","./CardDescription-D2AN1hhX.js","./useGameConfig-B5wf1i8i.js","./game-i18n-DEf7ySVe.js","./BuildingsView-BQvU9Qow.js","./vendor-icons-W6Ny__75.js","./AlertDialog-CiXBEnQ0.js","./CardUnlockOverlay-BA1LyGjd.js","./ResearchView-B3XsR2nC.js","./vendor-vue-router-CWDMmE-U.js","./UnlockRequirement-c2kDZKZ0.js","./ShipyardView-CezaC9x_.js","./DefenseView-DuI03pUa.js","./FleetView-BBGER_SR.js","./OfficersView-Dfgf1DR0.js","./BattleSimulatorView-BDzc1XdU.js","./BattleReportDialog-CWBu6H63.js","./TooltipProvider-BAp4BAXy.js","./MessagesView-DpnWNQDD.js","./GalaxyView-TxzLJXed.js","./SelectValue-Cm2l40Fd.js","./SettingsView-C1jUcCe5.js","./GMView-Cql_sk5m.js"])))=>i.map(i=>d[i]);
|
|
import{o as e}from"./rolldown-runtime-tX5UdD3f.js";import{$ as t,A as n,At as r,B as i,Cn as a,Ct as o,D as s,Dn as c,Dt as l,En as u,Et as d,Ft as f,G as ee,Gt as te,H as ne,Jt as p,Kt as m,Mt as h,Nt as g,On as _,Ot as v,R as re,Tn as y,U as ie,Vt as b,W as ae,Wt as oe,X as se,Xt as ce,Y as le,Yt as x,_ as ue,_t as S,an as de,b as fe,bt as pe,ct as me,ft as he,g as ge,gt as _e,h as ve,hn as C,ht as w,in as T,jt as E,kt as D,l as ye,lt as O,mt as be,nt as xe,pt as Se,rt as Ce,tn as we,tt as Te,un as Ee,v as De,w as Oe,wt as ke,x as Ae,y as je,yt as k,z as Me}from"./game-logic-CfBcTF_c.js";import{n as Ne,r as A,t as Pe}from"./vendor-pinia-DP9x75p8.js";import{i as Fe,n as Ie,r as Le,t as Re}from"./vendor-vue-router-CWDMmE-U.js";import{t as ze}from"./vendor-crypto-Ce_BCn-h.js";import{n as Be,r as Ve,t as He}from"./game-i18n-DEf7ySVe.js";import{R as Ue,c as j,t as We,z as Ge}from"./vendor-others-CUjrprN5.js";import{B as Ke,C as qe,F as Je,H as M,I as Ye,L as Xe,P as Ze,R as Qe,S as $e,T as et,U as tt,V as nt,W as rt,a as it,b as at,i as ot,n as st,o as ct,r as lt,t as ut,w as dt,x as ft,y as pt,z as mt}from"./vendor-reka-ui-CZQh7FLl.js";import{n as ht}from"./vendor-utils-Dg-HLkEU.js";import{i as gt,n as _t,r as vt,t as yt}from"./vendor-vueuse-C7EbLx--.js";import{A as bt,B as xt,C as St,E as Ct,F as wt,G as Tt,N as Et,O as Dt,P as Ot,S as kt,V as At,_ as jt,c as Mt,f as Nt,h as Pt,j as Ft,k as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,t as Ut,u as Wt,w as Gt,x as Kt}from"./vendor-icons-W6Ny__75.js";import{c as qt,f as N,r as Jt}from"./game-config-D-D7cMgJ.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href;var P={name:`ogame-vue-ts`,title:`OGame-Vue-Ts`,qq:`920930589`,id:`2zBlHPUA6E`,author:{name:`setube`,email:`1962257451@qq.com`},private:!0,version:`1.1.0`,buildDate:`2025/12/14 13:13:07`,main:`dist-electron/main.js`,type:`module`,scripts:{dev:`vite --port 25121`,build:`vue-tsc -b && vite build && node update-build-date.js`,preview:`vite preview`,"build:server":`pnpm run build && go build`,"build:electron":`pnpm run build && electron-builder`},dependencies:{"@tailwindcss/vite":`^4.1.17`,"@tanstack/vue-table":`^8.21.3`,"@vueuse/core":`^14.1.0`,"class-variance-authority":`^0.7.1`,clsx:`^2.1.1`,"crypto-js":`^4.2.0`,"file-saver":`^2.0.5`,finalhandler:`^2.1.1`,"lucide-vue-next":`^0.556.0`,pinia:`^3.0.4`,"pinia-plugin-persistedstate":`^4.7.1`,"reka-ui":`^2.6.1`,"serve-static":`^2.2.0`,"tailwind-merge":`^3.4.0`,tailwindcss:`^4.1.17`,vue:`^3.5.24`,"vue-router":`4`,"vue-sonner":`^2.0.9`},devDependencies:{"@types/crypto-js":`^4.2.2`,"@types/file-saver":`^2.0.7`,"@types/node":`^24.10.2`,"@vitejs/plugin-vue":`^6.0.1`,"@vue/tsconfig":`^0.8.1`,electron:`^39.2.7`,"electron-builder":`^26.0.12`,"electron-vite":`^5.0.0`,"tw-animate-css":`^1.4.0`,typescript:`~5.9.3`,vite:`npm:rolldown-vite@7.2.5`,"vite-plugin-electron":`^0.29.0`,"vite-plugin-electron-renderer":`^0.14.6`,"vue-tsc":`^3.1.4`},pnpm:{overrides:{vite:`npm:rolldown-vite@7.2.5`},onlyBuiltDependencies:[`electron-winstaller`,`esbuild`,`vue-demi`]},packageManager:`pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad`,build:{appId:`games.wenzi.ogame`,productName:`OGame`,directories:{output:`pkg`},win:{target:`nsis`,icon:`public/favicon.ico`,verifyUpdateCodeSignature:!1,artifactName:"${productName}-Setup.${ext}"},mac:{target:[`dmg`,`zip`],artifactName:"${productName}-mac.${ext}"},linux:{target:[`AppImage`,`deb`],artifactName:"${productName}-linux.${ext}"}}},Yt=e(ze(),1);const Xt=e=>{try{let t=JSON.stringify(e);return Yt.default.AES.encrypt(t,P.name).toString()}catch(e){console.error(e)}return``},Zt=e=>{try{let t=Yt.default.AES.decrypt(e,P.name).toString(Yt.default.enc.Utf8);return JSON.parse(t)}catch(e){return console.error(e),{}}},Qt=A(`game`,{state:()=>({gameTime:Date.now(),isPaused:!1,player:{id:`player1`,name:``,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[]},currentPlanetId:``,isDark:``,locale:`zh-CN`}),getters:{currentPlanet(){return this.player.planets.find(e=>e.id===this.currentPlanetId)},getMoonForPlanet(){return e=>this.player.planets.find(t=>t.parentPlanetId===e&&t.isMoon)}},persist:{key:P.name,storage:localStorage,serializer:{serialize:e=>Xt(e),deserialize:e=>Zt(e)}}}),$t=A(`universe`,{state:()=>({planets:{},debrisFields:{}}),persist:{key:`${P.name}-universe`,storage:localStorage,serializer:{serialize:e=>Xt(e),deserialize:e=>Zt(e)}}});var F=C(!1);const en=()=>{let e=Qt();oe(()=>{e.isDark?F.value=e.isDark===`dark`:(F.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches,e.isDark=F.value?`dark`:`light`),t()}),we(F,()=>{t(),e.isDark=F.value?`dark`:`light`});let t=()=>{F.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)};return{isDark:F,toggleTheme:()=>{F.value=!F.value}}},I=()=>{let e=Qt(),t=d(()=>e.locale),n=d(()=>Ve[t.value]);return{t:e=>{let t=e.split(`.`),r=n.value;for(let n of t)if(r&&typeof r==`object`&&n in r)r=r[n];else return e;return typeof r==`string`?r:e},locale:t,setLocale:t=>{e.locale=t},messages:n}},L=(...e)=>ht(Ge(e));var R=g({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(m(),v(a(nt),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:y(a(L)(a(tn)({variant:e.variant,size:e.size}),t.class))},{default:T(()=>[x(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});const tn=Ue(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});var z=g({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(r,i)=>(m(),v(a(nt),b({"data-slot":`badge`,class:a(L)(a(nn)({variant:e.variant}),t.class)},a(n)),{default:T(()=>[x(r.$slots,`default`)]),_:3},16,[`class`]))}});const nn=Ue(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});var rn=g({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(at),b({"data-slot":`progress`},a(n),{class:a(L)(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,t.class)}),{default:T(()=>[h(a(pt),{"data-slot":`progress-indicator`,class:`bg-primary h-full w-full flex-1 transition-all`,style:c(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),an=g({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(et),b({"data-slot":`popover`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),on=g({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(e,t)=>(m(),v(a(qe),null,{default:T(()=>[h(a(dt),b({"data-slot":`popover-content`},{...e.$attrs,...a(i)},{class:a(L)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),sn=g({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(m(),v(a($e),b({"data-slot":`popover-trigger`},t),{default:T(()=>[x(e.$slots,`default`)]),_:3},16))}}),cn=g({__name:`Sheet`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(Ke),b({"data-slot":`sheet`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),ln=g({__name:`SheetOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ye),b({"data-slot":`sheet-overlay`,class:a(L)(`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`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),un=g({inheritAttrs:!1,__name:`SheetContent`,props:{class:{},side:{default:`right`},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`,`side`),r);return(t,r)=>(m(),v(a(Je),null,{default:T(()=>[h(ln),h(a(Qe),b({"data-slot":`sheet-content`,class:a(L)(`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`,e.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`,e.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`,e.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`,e.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`,n.class)},{...t.$attrs,...a(i)}),{default:T(()=>[x(t.$slots,`default`),h(a(mt),{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:T(()=>[h(a(zt),{class:`size-4`}),r[0]||=l(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),dn=g({__name:`SheetDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Xe),b({"data-slot":`sheet-description`,class:a(L)(`text-muted-foreground text-sm`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),fn=g({__name:`SheetHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sheet-header`,class:y(a(L)(`flex flex-col gap-1.5 p-4`,t.class))},[x(e.$slots,`default`)],2))}}),pn=g({__name:`SheetTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ze),b({"data-slot":`sheet-title`,class:a(L)(`text-foreground font-semibold`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}});const mn=`sidebar_state`,[hn,gn]=rt(`Sidebar`);var _n={class:`flex h-full w-full flex-col`},vn=[`data-state`,`data-collapsible`,`data-variant`,`data-side`],yn={"data-sidebar":`sidebar`,class:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`},bn=g({inheritAttrs:!1,__name:`Sidebar`,props:{side:{default:`left`},variant:{default:`sidebar`},collapsible:{default:`offcanvas`},class:{}},setup(e){let t=e,{isMobile:n,state:i,openMobile:o,setOpenMobile:s}=hn();return(u,d)=>e.collapsible===`none`?(m(),r(`div`,b({key:0,"data-slot":`sidebar`,class:a(L)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,t.class)},u.$attrs),[x(u.$slots,`default`)],16)):a(n)?(m(),v(a(cn),b({key:1,open:a(o)},u.$attrs,{"onUpdate:open":a(s)}),{default:T(()=>[h(a(un),{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,side:e.side,class:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:c({"--sidebar-width":a(`18rem`)})},{default:T(()=>[h(fn,{class:`sr-only`},{default:T(()=>[h(pn,null,{default:T(()=>[...d[0]||=[E(`Sidebar`,-1)]]),_:1}),h(dn,null,{default:T(()=>[...d[1]||=[E(`Displays the mobile sidebar.`,-1)]]),_:1})]),_:1}),l(`div`,_n,[x(u.$slots,`default`)])]),_:3},8,[`side`,`style`])]),_:3},16,[`open`,`onUpdate:open`])):(m(),r(`div`,{key:2,class:`group peer text-sidebar-foreground hidden md:block`,"data-slot":`sidebar`,"data-state":a(i),"data-collapsible":a(i)===`collapsed`?e.collapsible:``,"data-variant":e.variant,"data-side":e.side},[l(`div`,{class:y(a(L)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,e.variant===`floating`||e.variant===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`))},null,2),l(`div`,b({class:a(L)(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e.side===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,e.variant===`floating`||e.variant===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,t.class)},u.$attrs),[l(`div`,yn,[x(u.$slots,`default`)])],16)],8,vn))}}),xn=g({__name:`SidebarContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,class:y(a(L)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t.class))},[x(e.$slots,`default`)],2))}}),Sn=g({__name:`SidebarFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,class:y(a(L)(`flex flex-col gap-2 p-2`,t.class))},[x(e.$slots,`default`)],2))}}),Cn=g({__name:`SidebarGroup`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,class:y(a(L)(`relative flex w-full min-w-0 flex-col p-2`,t.class))},[x(e.$slots,`default`)],2))}}),wn=g({__name:`SidebarHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,class:y(a(L)(`flex flex-col gap-2 p-2`,t.class))},[x(e.$slots,`default`)],2))}}),Tn=g({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=gt(n,`modelValue`,t,{passive:!0,defaultValue:n.defaultValue});return(e,t)=>de((m(),r(`input`,{"onUpdate:modelValue":t[0]||=e=>Ee(i)?i.value=e:null,"data-slot":`input`,class:y(a(L)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,n.class))},null,2)),[[pe,a(i)]])}}),En=g({__name:`SidebarInset`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`main`,{"data-slot":`sidebar-inset`,class:y(a(L)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,t.class))},[x(e.$slots,`default`)],2))}}),Dn=g({__name:`SidebarMenu`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,class:y(a(L)(`flex w-full min-w-0 flex-col gap-1`,t.class))},[x(e.$slots,`default`)],2))}}),On=g({__name:`SidebarMenuBadge`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,class:y(a(L)(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,t.class))},[x(e.$slots,`default`)],2))}}),kn=g({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(ot),b({"data-slot":`tooltip`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),An=g({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(e,t)=>(m(),v(a(st),null,{default:T(()=>[h(a(lt),b({"data-slot":`tooltip-content`},{...a(i),...e.$attrs},{class:a(L)(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance`,n.class)}),{default:T(()=>[x(e.$slots,`default`),h(a(ct),{class:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]),_:3},16,[`class`])]),_:3}))}}),jn=g({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(m(),v(a(ut),b({"data-slot":`tooltip-trigger`},t),{default:T(()=>[x(e.$slots,`default`)]),_:3},16))}}),Mn=g({__name:`SidebarMenuButtonChild`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(m(),v(a(nt),b({"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":e.size,"data-active":e.isActive,class:a(L)(a(Ln)({variant:e.variant,size:e.size}),t.class),as:e.as,"as-child":e.asChild},n.$attrs),{default:T(()=>[x(n.$slots,`default`)]),_:3},16,[`data-size`,`data-active`,`class`,`as`,`as-child`]))}}),Nn=g({inheritAttrs:!1,__name:`SidebarMenuButton`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`},tooltip:{}},setup(e){let t=e,{isMobile:n,state:i}=hn(),s=j(t,`tooltip`);return(t,c)=>e.tooltip?(m(),v(a(kn),{key:1},{default:T(()=>[h(a(jn),{"as-child":``},{default:T(()=>[h(Mn,u(f({...a(s),...t.$attrs})),{default:T(()=>[x(t.$slots,`default`)]),_:3},16)]),_:3}),h(a(An),{side:`right`,align:`center`,hidden:a(i)!==`collapsed`||a(n)},{default:T(()=>[typeof e.tooltip==`string`?(m(),r(o,{key:0},[E(_(e.tooltip),1)],64)):(m(),v(ce(e.tooltip),{key:1}))]),_:1},8,[`hidden`])]),_:3})):(m(),v(Mn,u(b({key:0},{...a(s),...t.$attrs})),{default:T(()=>[x(t.$slots,`default`)]),_:3},16))}}),Pn=g({__name:`SidebarMenuItem`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,class:y(a(L)(`group/menu-item relative`,t.class))},[x(e.$slots,`default`)],2))}}),Fn=g({__name:`SidebarProvider`,props:{defaultOpen:{type:Boolean,default:!yt?.cookie.includes(`${mn}=false`)},open:{type:Boolean,default:void 0},class:{}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=vt(`(max-width: 768px)`),o=C(!1),s=gt(n,`open`,r,{defaultValue:n.defaultOpen??!1,passive:n.open===void 0});function c(e){s.value=e,document.cookie=`${mn}=${s.value}; path=/; max-age=604800`}function u(e){o.value=e}function f(){return i.value?u(!o.value):c(!s.value)}return _t(`keydown`,e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())}),gn({state:d(()=>s.value?`expanded`:`collapsed`),open:s,setOpen:c,isMobile:i,openMobile:o,setOpenMobile:u,toggleSidebar:f}),(e,t)=>(m(),v(a(it),{"delay-duration":0},{default:T(()=>[l(`div`,b({"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":a(`16rem`),"--sidebar-width-icon":a(`3rem`)},class:a(L)(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,n.class)},e.$attrs),[x(e.$slots,`default`)],16)]),_:3}))}}),In=g({__name:`SidebarTrigger`,props:{class:{}},setup(e){let t=e,{toggleSidebar:n}=hn();return(e,r)=>(m(),v(a(R),{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,class:y(a(L)(`h-7 w-7`,t.class)),onClick:a(n)},{default:T(()=>[h(a(Kt)),r[0]||=l(`span`,{class:`sr-only`},`Toggle Sidebar`,-1)]),_:1},8,[`class`,`onClick`]))}});const Ln=Ue(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var Rn=g({__name:`ResourceIcon`,props:{type:{},size:{default:`md`}},setup(e){let t={metal:`bg-gradient-to-br from-slate-400 to-slate-600`,crystal:`bg-gradient-to-br from-cyan-400 to-blue-600`,deuterium:`bg-gradient-to-br from-green-400 to-emerald-600`,darkMatter:`bg-gradient-to-br from-purple-600 to-indigo-900`,energy:`bg-gradient-to-br from-yellow-400 to-orange-500`},n={sm:`w-3 h-3`,md:`w-4 h-4`,lg:`w-5 h-5`};return(i,a)=>(m(),r(`div`,{class:y([t[e.type],n[e.size],`rounded shadow-sm`])},null,2))}}),zn={key:0,class:`fixed inset-0 z-50 flex items-center justify-center`},Bn={class:`relative bg-card border rounded-lg shadow-lg p-6 max-w-md w-full mx-4 z-10`},Vn={class:`text-lg font-semibold mb-2`},Hn={class:`text-sm text-muted-foreground mb-6`},Un={class:`flex justify-end gap-3`},Wn=g({__name:`ConfirmDialog`,setup(e,{expose:t}){let{t:n}=I(),i=C(!1),o=C(null),s=e=>{o.value=e,i.value=!0},c=()=>{o.value&&o.value.onConfirm(),i.value=!1},u=()=>{i.value=!1};return t({show:s}),(e,t)=>(m(),v(ke,{to:`body`},[i.value?(m(),r(`div`,zn,[l(`div`,{class:`fixed inset-0 bg-black/50`,onClick:u}),l(`div`,Bn,[l(`h2`,Vn,_(o.value?.title),1),l(`p`,Hn,_(o.value?.message),1),l(`div`,Un,[h(a(R),{onClick:u,variant:`outline`},{default:T(()=>[E(_(a(n)(`common.cancel`)),1)]),_:1}),h(a(R),{onClick:c,variant:`default`},{default:T(()=>[E(_(a(n)(`common.confirm`)),1)]),_:1})])])])):D(``,!0)]))}}),Gn=g({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(Ke),b({"data-slot":`dialog`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),Kn=g({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ye),b({"data-slot":`dialog-overlay`},a(n),{class:a(L)(`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`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),qn=g({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(t,r)=>(m(),v(a(Je),null,{default:T(()=>[h(Kn),h(a(Qe),b({"data-slot":`dialog-content`},{...t.$attrs,...a(i)},{class:a(L)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:T(()=>[x(t.$slots,`default`),e.showCloseButton?(m(),v(a(mt),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground 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 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:T(()=>[h(a(zt)),r[0]||=l(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):D(``,!0)]),_:3},16,[`class`])]),_:3}))}}),B=g({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=tt(j(t,`class`));return(e,r)=>(m(),v(a(Xe),b({"data-slot":`dialog-description`},a(n),{class:a(L)(`text-muted-foreground text-sm`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),V=g({__name:`DialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`dialog-header`,class:y(a(L)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[x(e.$slots,`default`)],2))}}),H=g({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=tt(j(t,`class`));return(e,r)=>(m(),v(a(Ze),b({"data-slot":`dialog-title`},a(n),{class:a(L)(`text-lg leading-none font-semibold`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}});const Jn=A(`detailDialog`,{state:()=>({isOpen:!1,type:null,itemType:null,currentLevel:void 0}),actions:{openBuilding(e,t){this.isOpen=!0,this.type=`building`,this.itemType=e,this.currentLevel=t},openTechnology(e,t){this.isOpen=!0,this.type=`technology`,this.itemType=e,this.currentLevel=t},openShip(e){this.isOpen=!0,this.type=`ship`,this.itemType=e,this.currentLevel=void 0},openDefense(e){this.isOpen=!0,this.type=`defense`,this.itemType=e,this.currentLevel=void 0},close(){this.isOpen=!1,this.type=null,this.itemType=null,this.currentLevel=void 0}}});var Yn={"data-slot":`table-container`,class:`relative w-full overflow-auto`},Xn=g({__name:`Table`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,Yn,[l(`table`,{"data-slot":`table`,class:y(a(L)(`w-full caption-bottom text-sm`,t.class))},[x(e.$slots,`default`)],2)]))}}),Zn=g({__name:`TableBody`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`tbody`,{"data-slot":`table-body`,class:y(a(L)(`[&_tr:last-child]:border-0`,t.class))},[x(e.$slots,`default`)],2))}}),U=g({__name:`TableCell`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`td`,{"data-slot":`table-cell`,class:y(a(L)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[x(e.$slots,`default`)],2))}}),W=g({__name:`TableRow`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`tr`,{"data-slot":`table-row`,class:y(a(L)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[x(e.$slots,`default`)],2))}}),G=g({__name:`TableHead`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`th`,{"data-slot":`table-head`,class:y(a(L)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[x(e.$slots,`default`)],2))}}),Qn=g({__name:`TableHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`thead`,{"data-slot":`table-header`,class:y(a(L)(`[&_tr]:border-b`,t.class))},[x(e.$slots,`default`)],2))}}),K=g({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card`,class:y(a(L)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[x(e.$slots,`default`)],2))}}),q=g({__name:`CardContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card-content`,class:y(a(L)(`px-6`,t.class))},[x(e.$slots,`default`)],2))}}),J=g({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card-header`,class:y(a(L)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[x(e.$slots,`default`)],2))}}),Y=g({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`h3`,{"data-slot":`card-title`,class:y(a(L)(`leading-none font-semibold`,t.class))},[x(e.$slots,`default`)],2))}}),$n={class:`cursor-pointer underline decoration-dotted underline-offset-4 touch-manipulation`},er={class:`font-mono text-sm`},X=g({__name:`NumberWithTooltip`,props:{value:{}},setup(e){let t=e,n=d(()=>t.value.toLocaleString()),r=d(()=>{let e=t.value;if(e<1e3)return e.toString();if(e<1e6){let t=e/1e3;return t%1==0?`${t}K`:`${t.toFixed(1)}K`}if(e<1e9){let t=e/1e6;return t%1==0?`${t}M`:`${t.toFixed(1)}M`}let n=e/1e9;return n%1==0?`${n}B`:`${n.toFixed(1)}B`});return(e,t)=>(m(),v(a(an),null,{default:T(()=>[h(a(sn),{"as-child":``},{default:T(()=>[l(`span`,$n,_(r.value),1)]),_:1}),h(a(on),{class:`w-auto p-2`,side:`top`,align:`center`},{default:T(()=>[l(`p`,er,_(n.value),1)]),_:1})]),_:1}))}});const Z=(e,t=2)=>e>=1e9?(e/1e9).toFixed(t)+`B`:e>=1e6?(e/1e6).toFixed(t)+`M`:e>=1e3?(e/1e3).toFixed(t)+`K`:Math.floor(e).toString(),tr=(e,t)=>{let n=e/t;return n>=1?`text-red-600 dark:text-red-400`:n>=.7?`text-yellow-600 dark:text-yellow-400`:``},Q=e=>{let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}:${i.toString().padStart(2,`0`)}`:`${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}:${i.toString().padStart(2,`0`)}`},nr=e=>new Date(e).toLocaleString(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),rr=(e,t)=>e<t?`text-red-600 dark:text-red-400`:``;var ir={class:`space-y-4`},ar={class:`border rounded-lg overflow-hidden`},or={key:1},sr={key:0,class:`text-green-600 dark:text-green-400`},cr={key:1},lr={key:0,class:`text-red-600 dark:text-red-400`},ur={key:1},dr={class:`text-primary font-medium`},fr={class:`grid grid-cols-2 gap-4`},pr={class:`flex items-center justify-between text-sm`},mr={class:`text-muted-foreground`},hr={class:`font-medium`},gr={class:`flex items-center justify-between text-sm`},_r={class:`text-muted-foreground`},vr={class:`font-medium`},yr={class:`flex items-center justify-between text-sm`},br={class:`text-muted-foreground`},xr={class:`font-medium`},Sr={class:`text-3xl font-bold text-primary`},Cr={class:`text-xs text-muted-foreground mt-1`},wr=g({__name:`BuildingDetailView`,props:{buildingType:{},currentLevel:{}},setup(e){let{t}=I(),n=e,i=d(()=>{let e=n.currentLevel+10,t=[];for(let r=n.currentLevel;r<=e;r++)t.push(r);return t}),s=e=>{if(e===0)return{cost:{metal:0,crystal:0,deuterium:0},buildTime:0,production:0,consumption:0,points:0};let t=me(n.buildingType,e),r=O(n.buildingType,e),i=0,a=0;n.buildingType===`metalMine`?i=Math.floor(1500*e*1.5**e):n.buildingType===`crystalMine`?i=Math.floor(1e3*e*1.5**e):n.buildingType===`deuteriumSynthesizer`&&(i=Math.floor(500*e*1.5**e)),n.buildingType===`solarPlant`&&(i=Math.floor(50*e*1.1**e)),[`metalMine`,`crystalMine`,`deuteriumSynthesizer`].includes(n.buildingType)&&(a=Math.floor(10*e*1.1**e));let o=he(n.buildingType,e-1,e);return{cost:t,buildTime:r,production:i,consumption:a,points:o}},c=d(()=>{let e=0,t=0,n=0,r=0;for(let a of i.value){if(a===0)continue;let i=s(a);e+=i.cost.metal,t+=i.cost.crystal,n+=i.cost.deuterium,r+=i.points}return{metal:e,crystal:t,deuterium:n,points:r}});return(n,u)=>(m(),r(`div`,ir,[l(`div`,ar,[h(a(Xn),null,{default:T(()=>[h(a(Qn),null,{default:T(()=>[h(a(W),null,{default:T(()=>[h(a(G),{class:`w-20 text-center`},{default:T(()=>[E(_(a(t)(`buildings.levelRange`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.metal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.crystal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.deuterium`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.buildTime`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.production`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.consumption`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),h(a(Zn),null,{default:T(()=>[(m(!0),r(o,null,p(i.value,n=>(m(),v(a(W),{key:n,class:y({"bg-muted/50":n===e.currentLevel})},{default:T(()=>[h(a(U),{class:`text-center font-medium`},{default:T(()=>[n===e.currentLevel?(m(),v(a(z),{key:0,variant:`default`},{default:T(()=>[E(_(n),1)]),_:2},1024)):(m(),r(`span`,or,_(n),1))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.metal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.crystal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.deuterium},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[E(_(a(Q)(s(n).buildTime)),1)]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[s(n).production>0?(m(),r(`span`,sr,[u[0]||=E(` + `,-1),h(X,{value:s(n).production},null,8,[`value`]),E(` /`+_(a(t)(`resources.perHour`)),1)])):(m(),r(`span`,cr,`-`))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[s(n).consumption>0?(m(),r(`span`,lr,[u[1]||=E(` - `,-1),h(X,{value:s(n).consumption},null,8,[`value`])])):(m(),r(`span`,ur,`-`))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[l(`span`,dr,[u[2]||=E(` + `,-1),h(X,{value:s(n).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,fr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`buildings.totalCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[l(`div`,pr,[l(`span`,mr,_(a(t)(`resources.metal`))+`:`,1),l(`span`,hr,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,gr,[l(`span`,_r,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,vr,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,yr,[l(`span`,br,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,xr,[h(X,{value:c.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`buildings.totalPoints`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Sr,[h(X,{value:c.value.points},null,8,[`value`])]),l(`p`,Cr,_(a(t)(`buildings.levelRange`))+`: `+_(Math.max(0,e.currentLevel-10))+` - `+_(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),Tr={class:`space-y-4`},Er={class:`border rounded-lg overflow-hidden`},Dr={key:1},Or={class:`text-primary font-medium`},kr={class:`grid grid-cols-2 gap-4`},Ar={class:`flex items-center justify-between text-sm`},jr={class:`text-muted-foreground`},Mr={class:`font-medium`},Nr={class:`flex items-center justify-between text-sm`},Pr={class:`text-muted-foreground`},Fr={class:`font-medium`},Ir={class:`flex items-center justify-between text-sm`},Lr={class:`text-muted-foreground`},Rr={class:`font-medium`},zr={class:`text-3xl font-bold text-primary`},Br={class:`text-xs text-muted-foreground mt-1`},Vr=g({__name:`TechnologyDetailView`,props:{technologyType:{},currentLevel:{}},setup(e){let{t}=I(),n=e,i=d(()=>{let e=n.currentLevel+10,t=[];for(let r=n.currentLevel;r<=e;r++)t.push(r);return t}),s=e=>e===0?{cost:{metal:0,crystal:0,deuterium:0},researchTime:0,points:0}:{cost:_e(n.technologyType,e),researchTime:S(n.technologyType,e-1),points:w(n.technologyType,e-1,e)},c=d(()=>{let e=0,t=0,n=0,r=0;for(let a of i.value){if(a===0)continue;let i=s(a);e+=i.cost.metal,t+=i.cost.crystal,n+=i.cost.deuterium,r+=i.points}return{metal:e,crystal:t,deuterium:n,points:r}});return(n,u)=>(m(),r(`div`,Tr,[l(`div`,Er,[h(a(Xn),null,{default:T(()=>[h(a(Qn),null,{default:T(()=>[h(a(W),null,{default:T(()=>[h(a(G),{class:`w-20 text-center`},{default:T(()=>[E(_(a(t)(`research.levelRange`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.metal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.crystal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.deuterium`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`research.researchTime`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),h(a(Zn),null,{default:T(()=>[(m(!0),r(o,null,p(i.value,t=>(m(),v(a(W),{key:t,class:y({"bg-muted/50":t===e.currentLevel})},{default:T(()=>[h(a(U),{class:`text-center font-medium`},{default:T(()=>[t===e.currentLevel?(m(),v(a(z),{key:0,variant:`default`},{default:T(()=>[E(_(t),1)]),_:2},1024)):(m(),r(`span`,Dr,_(t),1))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.metal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.crystal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.deuterium},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[E(_(a(Q)(s(t).researchTime)),1)]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[l(`span`,Or,[u[0]||=E(` + `,-1),h(X,{value:s(t).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,kr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`research.totalCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[l(`div`,Ar,[l(`span`,jr,_(a(t)(`resources.metal`))+`:`,1),l(`span`,Mr,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,Nr,[l(`span`,Pr,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,Fr,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,Ir,[l(`span`,Lr,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Rr,[h(X,{value:c.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`research.totalPoints`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,zr,[h(X,{value:c.value.points},null,8,[`value`])]),l(`p`,Br,_(a(t)(`research.levelRange`))+`: `+_(Math.max(0,e.currentLevel-10))+` - `+_(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),Hr=g({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(ft),b({"data-slot":`label`},a(n),{class:a(L)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ur={class:`space-y-4`},Wr={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Gr={class:`text-2xl font-bold`},Kr={class:`text-2xl font-bold`},qr={class:`text-2xl font-bold`},Jr={class:`text-2xl font-bold`},Yr={class:`text-2xl font-bold`},Xr={class:`text-2xl font-bold`},Zr={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Qr={key:0,class:`flex items-center justify-between text-sm`},$r={class:`text-muted-foreground`},ei={class:`font-medium`},ti={key:1,class:`flex items-center justify-between text-sm`},ni={class:`text-muted-foreground`},ri={class:`font-medium`},ii={key:2,class:`flex items-center justify-between text-sm`},ai={class:`text-muted-foreground`},oi={class:`font-medium`},si={class:`flex items-center justify-between text-sm pt-2 border-t`},ci={class:`text-muted-foreground`},li={class:`font-bold text-primary`},ui={class:`text-3xl font-bold`},di={class:`text-xs text-muted-foreground mt-2`},fi={class:`flex items-center gap-4`},pi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},mi={class:`space-y-2`},hi={class:`text-sm text-muted-foreground`},gi={class:`space-y-1 text-sm`},_i={class:`flex justify-between`},vi={class:`font-medium`},yi={class:`flex justify-between`},bi={class:`font-medium`},xi={class:`flex justify-between`},Si={class:`font-medium`},Ci={class:`space-y-2`},wi={class:`text-sm text-muted-foreground`},Ti={class:`text-xl font-bold`},Ei={class:`text-xs text-muted-foreground`},Di=g({__name:`ShipDetailView`,props:{shipType:{}},setup(e){let{t}=I(),n=e,i=d(()=>qt[n.shipType]),o=C(1),s=d(()=>be(n.shipType,1)),c=d(()=>({metal:i.value.cost.metal*o.value,crystal:i.value.cost.crystal*o.value,deuterium:i.value.cost.deuterium*o.value})),u=d(()=>be(n.shipType,o.value));return(e,n)=>(m(),r(`div`,Ur,[l(`div`,Wr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Mt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.attack`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Gr,[h(X,{value:i.value.attack},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Vt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.shield`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Kr,[h(X,{value:i.value.shield},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Rt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.armor`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,qr,[h(X,{value:i.value.armor},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Ut),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.speed`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Jr,[h(X,{value:i.value.speed},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(kt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.cargoCapacity`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Yr,[h(X,{value:i.value.cargoCapacity},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Ot),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.fuelConsumption`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Xr,[h(X,{value:i.value.fuelConsumption},null,8,[`value`])])]),_:1})]),_:1})]),l(`div`,Zr,[h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.buildCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[i.value.cost.metal>0?(m(),r(`div`,Qr,[l(`span`,$r,_(a(t)(`resources.metal`))+`:`,1),l(`span`,ei,[h(X,{value:i.value.cost.metal},null,8,[`value`])])])):D(``,!0),i.value.cost.crystal>0?(m(),r(`div`,ti,[l(`span`,ni,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,ri,[h(X,{value:i.value.cost.crystal},null,8,[`value`])])])):D(``,!0),i.value.cost.deuterium>0?(m(),r(`div`,ii,[l(`span`,ai,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,oi,[h(X,{value:i.value.cost.deuterium},null,8,[`value`])])])):D(``,!0),l(`div`,si,[l(`span`,ci,_(a(t)(`player.points`))+`:`,1),l(`span`,li,[h(X,{value:s.value},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.buildTime`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,ui,_(a(Q)(i.value.buildTime)),1),l(`p`,di,_(a(t)(`shipyard.perUnit`)),1)]),_:1})]),_:1})]),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.batchCalculator`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-4`},{default:T(()=>[l(`div`,fi,[h(a(Hr),{class:`w-20`},{default:T(()=>[E(_(a(t)(`shipyard.quantity`))+`:`,1)]),_:1}),h(a(Tn),{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,pi,[l(`div`,mi,[l(`p`,hi,_(a(t)(`shipyard.totalCost`))+`:`,1),l(`div`,gi,[l(`div`,_i,[l(`span`,null,_(a(t)(`resources.metal`))+`:`,1),l(`span`,vi,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,yi,[l(`span`,null,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,bi,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,xi,[l(`span`,null,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Si,[h(X,{value:c.value.deuterium},null,8,[`value`])])])])]),l(`div`,Ci,[l(`p`,wi,_(a(t)(`shipyard.totalTime`))+`:`,1),l(`div`,Ti,_(a(Q)(i.value.buildTime*o.value)),1),l(`p`,Ei,[E(_(a(t)(`player.points`))+`: + `,1),h(X,{value:u.value},null,8,[`value`])])])])]),_:1})]),_:1})]))}}),Oi={class:`space-y-4`},ki={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Ai={class:`text-2xl font-bold`},ji={class:`text-2xl font-bold`},Mi={class:`text-2xl font-bold`},Ni={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Pi={key:0,class:`flex items-center justify-between text-sm`},Fi={class:`text-muted-foreground`},Ii={class:`font-medium`},Li={key:1,class:`flex items-center justify-between text-sm`},Ri={class:`text-muted-foreground`},zi={class:`font-medium`},Bi={key:2,class:`flex items-center justify-between text-sm`},Vi={class:`text-muted-foreground`},Hi={class:`font-medium`},Ui={class:`flex items-center justify-between text-sm pt-2 border-t`},Wi={class:`text-muted-foreground`},Gi={class:`font-bold text-primary`},Ki={class:`text-3xl font-bold`},qi={class:`text-xs text-muted-foreground mt-2`},Ji={class:`flex items-center gap-4`},Yi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},Xi={class:`space-y-2`},Zi={class:`text-sm text-muted-foreground`},Qi={class:`space-y-1 text-sm`},$i={class:`flex justify-between`},ea={class:`font-medium`},ta={class:`flex justify-between`},na={class:`font-medium`},ra={class:`flex justify-between`},ia={class:`font-medium`},aa={class:`space-y-2`},oa={class:`text-sm text-muted-foreground`},sa={class:`text-xl font-bold`},ca={class:`text-xs text-muted-foreground`},la=g({__name:`DefenseDetailView`,props:{defenseType:{}},setup(e){let{t}=I(),n=e,i=d(()=>Jt[n.defenseType]),o=C(1),s=d(()=>Se(n.defenseType,1)),c=d(()=>({metal:i.value.cost.metal*o.value,crystal:i.value.cost.crystal*o.value,deuterium:i.value.cost.deuterium*o.value})),u=d(()=>Se(n.defenseType,o.value));return(e,n)=>(m(),r(`div`,Oi,[l(`div`,ki,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Mt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.attack`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Ai,[h(X,{value:i.value.attack},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Vt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.shield`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,ji,[h(X,{value:i.value.shield},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Rt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.armor`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Mi,[h(X,{value:i.value.armor},null,8,[`value`])])]),_:1})]),_:1})]),l(`div`,Ni,[h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.buildCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[i.value.cost.metal>0?(m(),r(`div`,Pi,[l(`span`,Fi,_(a(t)(`resources.metal`))+`:`,1),l(`span`,Ii,[h(X,{value:i.value.cost.metal},null,8,[`value`])])])):D(``,!0),i.value.cost.crystal>0?(m(),r(`div`,Li,[l(`span`,Ri,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,zi,[h(X,{value:i.value.cost.crystal},null,8,[`value`])])])):D(``,!0),i.value.cost.deuterium>0?(m(),r(`div`,Bi,[l(`span`,Vi,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Hi,[h(X,{value:i.value.cost.deuterium},null,8,[`value`])])])):D(``,!0),l(`div`,Ui,[l(`span`,Wi,_(a(t)(`player.points`))+`:`,1),l(`span`,Gi,[h(X,{value:s.value},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.buildTime`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Ki,_(a(Q)(i.value.buildTime)),1),l(`p`,qi,_(a(t)(`defense.perUnit`)),1)]),_:1})]),_:1})]),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.batchCalculator`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-4`},{default:T(()=>[l(`div`,Ji,[h(a(Hr),{class:`w-20`},{default:T(()=>[E(_(a(t)(`defense.quantity`))+`:`,1)]),_:1}),h(a(Tn),{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,Yi,[l(`div`,Xi,[l(`p`,Zi,_(a(t)(`defense.totalCost`))+`:`,1),l(`div`,Qi,[l(`div`,$i,[l(`span`,null,_(a(t)(`resources.metal`))+`:`,1),l(`span`,ea,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,ta,[l(`span`,null,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,na,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,ra,[l(`span`,null,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,ia,[h(X,{value:c.value.deuterium},null,8,[`value`])])])])]),l(`div`,aa,[l(`p`,oa,_(a(t)(`defense.totalTime`))+`:`,1),l(`div`,sa,_(a(Q)(i.value.buildTime*o.value)),1),l(`p`,ca,[E(_(a(t)(`player.points`))+`: + `,1),h(X,{value:u.value},null,8,[`value`])])])])]),_:1})]),_:1})]))}}),ua={class:`overflow-y-auto px-6 pb-6`},da={class:`overflow-y-auto px-6 pb-6`},fa={class:`overflow-y-auto px-6 pb-6`},pa={class:`overflow-y-auto px-6 pb-6`},ma=g({__name:`DetailDialog`,setup(e){let{t}=I(),n=Jn(),i=e=>{e||n.close()};return(e,s)=>(m(),v(a(Gn),{open:a(n).isOpen,"onUpdate:open":i},{default:T(()=>[h(a(qn),{class:`max-w-[calc(100%-1rem)] sm:max-w-[90vw] md:max-w-3xl lg:max-w-4xl max-h-[90vh] flex flex-col p-0`},{default:T(()=>[a(n).type===`building`&&a(n).itemType?(m(),r(o,{key:0},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),{class:`flex items-center gap-2`},{default:T(()=>[E(_(a(t)(`buildings.${a(n).itemType}`))+` `,1),h(a(z),{variant:`outline`},{default:T(()=>[E(_(a(t)(`common.currentLevel`))+` `+_(a(n).currentLevel||0),1)]),_:1})]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`buildingDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,ua,[h(wr,{buildingType:a(n).itemType,currentLevel:a(n).currentLevel||0},null,8,[`buildingType`,`currentLevel`])])],64)):a(n).type===`technology`&&a(n).itemType?(m(),r(o,{key:1},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),{class:`flex items-center gap-2`},{default:T(()=>[E(_(a(t)(`technologies.${a(n).itemType}`))+` `,1),h(a(z),{variant:`outline`},{default:T(()=>[E(_(a(t)(`common.currentLevel`))+` `+_(a(n).currentLevel||0),1)]),_:1})]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`technologyDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,da,[h(Vr,{technologyType:a(n).itemType,currentLevel:a(n).currentLevel||0},null,8,[`technologyType`,`currentLevel`])])],64)):a(n).type===`ship`&&a(n).itemType?(m(),r(o,{key:2},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),null,{default:T(()=>[E(_(a(t)(`ships.${a(n).itemType}`)),1)]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`shipDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,fa,[h(Di,{shipType:a(n).itemType},null,8,[`shipType`])])],64)):a(n).type===`defense`&&a(n).itemType?(m(),r(o,{key:3},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),null,{default:T(()=>[E(_(a(t)(`defenses.${a(n).itemType}`)),1)]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`defenseDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,pa,[h(la,{defenseType:a(n).itemType},null,8,[`defenseType`])])],64)):D(``,!0)]),_:1})]),_:1},8,[`open`]))}}),ha=g({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){let t=e;return(e,n)=>(m(),v(a(We),b({class:a(L)(`toaster group`,t.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},t),{"success-icon":T(()=>[h(a(xt),{class:`size-4`})]),"info-icon":T(()=>[h(a(bt),{class:`size-4`})]),"warning-icon":T(()=>[h(a(Bt),{class:`size-4`})]),"error-icon":T(()=>[h(a(St),{class:`size-4`})]),"loading-icon":T(()=>[l(`div`,null,[h(a(Dt),{class:`size-4 animate-spin`})])]),"close-icon":T(()=>[h(a(zt),{class:`size-4`})]),_:1},16,[`class`]))}});const ga=()=>{try{let e=P.name,t=`${P.name}-universe`,n=localStorage.getItem(e);if(!n)return;let r;try{r=Zt(n)}catch{try{r=JSON.parse(n)}catch{return}}if(!(r.universePlanets||r.debrisFields))return;let i={planets:{},debrisFields:{}};if(r.universePlanets){let e=r.universePlanets,t=r.player?.planets||[],n=new Set(t.map(e=>e.id));Object.entries(e).forEach(([e,t])=>{n.has(t.id)||(i.planets[e]=t)}),delete r.universePlanets}r.debrisFields&&(i.debrisFields=r.debrisFields,delete r.debrisFields),localStorage.setItem(t,Xt(i)),localStorage.setItem(e,Xt(r))}catch(e){console.error(e)}};var _a={class:`flex items-center justify-center p-4 group-data-[collapsible=icon]:p-2`},va={class:`text-xl font-bold ml-2 group-data-[collapsible=icon]:hidden`},ya={class:`px-4 py-3 space-y-2 text-sm`},ba={class:`font-semibold mb-1`},xa={class:`text-muted-foreground text-xs`},Sa={class:`bg-muted/50 rounded-lg p-2`},Ca={class:`flex items-center justify-between`},wa={class:`text-xs text-muted-foreground`},Ta={class:`text-sm font-bold text-primary`},Ea={key:0,class:`flex gap-1`},Da={class:`space-y-1`},Oa={class:`flex flex-col h-full overflow-hidden`},ka={key:0,class:`bg-card border-b px-4 sm:px-6 py-6.5 shadow-md`},Aa={class:`flex items-center justify-between gap-3 sm:gap-6`},ja={class:`lg:flex-1`},Ma={class:`flex items-center gap-3 sm:gap-6 flex-1 lg:flex-none overflow-x-auto lg:justify-center`},Na={class:`min-w-0`},Pa={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},Fa={class:`flex items-center gap-2 sm:gap-4 flex-shrink-0 lg:flex-1 lg:justify-end`},Ia={key:0,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},La={class:`text-muted-foreground hidden sm:inline`},Ra={key:1,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},za={class:`text-muted-foreground hidden sm:inline`},Ba={key:1,class:`bg-card border-b px-4 sm:px-6 py-4.5`},Va={class:`space-y-3`},Ha={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},Ua={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Wa={class:`font-medium truncate`},Ga={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},Ka={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},qa={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},Ja={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},Ya={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Xa={class:`font-medium truncate`},Za={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},Qa={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},$a={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},eo={class:`flex-1 overflow-y-auto`},to={class:`animate-fade-in`},no=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(g({__name:`App`,setup(e){ga();let c=Qt(),u=$t(),{isDark:f}=en(),{t:g}=I(),b=C(null),x=[`zh-CN`,`zh-TW`,`en`,`de`,`ru`,`ko`,`ja`],S=C(window.innerWidth>=1024),de=async()=>{if(!ae(c.player.planets)){let e=Date.now(),n=Ce(c.player.officers,e);c.player.planets.forEach(r=>{t(r,e,n)}),pe();return}c.player=ne(c.player.id,g(`common.playerName`));let e=Te(c.player.id,g(`planet.homePlanet`));c.player.planets=[e],c.currentPlanetId=e.id},pe=()=>{for(let e=0;e<200;e++){let t=i(),n=Me(t.galaxy,t.system,t.position);if(u.planets[n])continue;let r=xe(e,t,g(`planet.planetPrefix`));u.planets[n]=r}},me=()=>{if(c.isPaused)return;let e=Date.now();c.gameTime=e,re(c.player.officers,e);let t=ie(c.player,e);c.player.researchQueue=t.updatedResearchQueue,c.player.fleetMissions.forEach(t=>{t.status===`outbound`&&e>=t.arrivalTime?he(t):t.status===`returning`&&t.returnTime&&e>=t.returnTime&&_e(t)})},he=async e=>{let t=Me(e.targetPosition.galaxy,e.targetPosition.system,e.targetPosition.position),n=c.player.planets.find(t=>t.position.galaxy===e.targetPosition.galaxy&&t.position.system===e.targetPosition.system&&t.position.position===e.targetPosition.position)||u.planets[t];if(e.missionType===N.Transport)Ae(e,n);else if(e.missionType===N.Attack){let t=await ve(e,n,c.player,null,c.player.planets);t&&(c.player.battleReports.push(t.battleResult),t.moon&&c.player.planets.push(t.moon),t.debrisField&&(u.debrisFields[t.debrisField.id]=t.debrisField))}else if(e.missionType===N.Colonize){let t=ge(e,n,c.player.id,g(`planet.colonyPrefix`));t&&c.player.planets.push(t)}else if(e.missionType===N.Spy){let t=fe(e,n,c.player.id);t&&c.player.spyReports.push(t)}else if(e.missionType===N.Deploy){if(ue(e,n,c.player.id)){let t=c.player.fleetMissions.indexOf(e);t>-1&&c.player.fleetMissions.splice(t,1);return}}else if(e.missionType===N.Recycle){let t=`debris_${e.targetPosition.galaxy}_${e.targetPosition.system}_${e.targetPosition.position}`,n=u.debrisFields[t],r=je(e,n);r&&n&&(r.remainingDebris&&(r.remainingDebris.metal>0||r.remainingDebris.crystal>0)?u.debrisFields[t]={id:n.id,position:n.position,resources:r.remainingDebris,createdAt:n.createdAt,expiresAt:n.expiresAt}:delete u.debrisFields[t])}else if(e.missionType===N.Destroy){let r=De(e,n,c.player);if(r&&r.success&&r.planetId){let e=c.player.planets.findIndex(e=>e.id===r.planetId);e>-1?c.player.planets.splice(e,1):delete u.planets[t]}}},_e=e=>{let t=c.player.planets.find(t=>t.id===e.originPlanetId);if(!t)return;ye(t.fleet,e.fleet),ee(t.resources,e.cargo);let n=c.player.fleetMissions.indexOf(e);n>-1&&c.player.fleetMissions.splice(n,1)},w=null;te(()=>{w&&clearInterval(w)}),oe(async()=>{c.player.planets.length===0&&(c.locale=He()),await de(),w=setInterval(()=>{me()},1e3)});let O=d(()=>c.currentPlanet),be=[{name:d(()=>g(`nav.overview`)),path:`/`,icon:Ft},{name:d(()=>g(`nav.buildings`)),path:`/buildings`,icon:Tt},{name:d(()=>g(`nav.research`)),path:`/research`,icon:wt},{name:d(()=>g(`nav.shipyard`)),path:`/shipyard`,icon:Nt},{name:d(()=>g(`nav.defense`)),path:`/defense`,icon:Vt},{name:d(()=>g(`nav.fleet`)),path:`/fleet`,icon:jt},{name:d(()=>g(`nav.officers`)),path:`/officers`,icon:Ht},{name:d(()=>g(`nav.simulator`)),path:`/battle-simulator`,icon:Lt},{name:d(()=>g(`nav.galaxy`)),path:`/galaxy`,icon:Et},{name:d(()=>g(`nav.messages`)),path:`/messages`,icon:Ct},{name:d(()=>g(`nav.settings`)),path:`/settings`,icon:Pt},...[]],Se=d(()=>{if(!O.value)return null;let e=Date.now(),t=Ce(c.player.officers,e);return se(O.value,{resourceProductionBonus:t.resourceProductionBonus,darkMatterProductionBonus:t.darkMatterProductionBonus,energyProductionBonus:t.energyProductionBonus})}),we=d(()=>{if(!O.value)return null;let e=Date.now(),t=Ce(c.player.officers,e);return le(O.value,t.storageCapacityBonus)}),Ee=d(()=>c.player.battleReports.filter(e=>!e.read).length+c.player.spyReports.filter(e=>!e.read).length),ke=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],k=d(()=>!O.value||O.value.isMoon?null:c.getMoonForPlanet(O.value.id)),Ne=d(()=>!!k.value),A=()=>{k.value&&(c.currentPlanetId=k.value.id)},Pe=()=>{O.value?.parentPlanetId&&(c.currentPlanetId=O.value.parentPlanetId)},Fe=()=>{S.value=!S.value},Le=e=>{if(e.type===`building`||e.type===`demolish`){let t=g(`buildings.${e.itemType}`);return e.type===`demolish`?`${g(`buildingsView.demolish`)} - ${t}`:t}else if(e.type===`technology`)return g(`technologies.${e.itemType}`);else if(e.type===`ship`)return g(`ships.${e.itemType}`);else if(e.type===`defense`)return g(`defenses.${e.itemType}`);return e.itemType},ze=e=>{let t=Date.now();return Math.max(0,Math.floor((e.endTime-t)/1e3))},Ve=e=>{let t=Date.now(),n=e.endTime-e.startTime,r=t-e.startTime;return Math.min(100,Math.max(0,r/n*100))},Ue=e=>{b.value?.show({title:g(`queue.cancelBuild`),message:g(`queue.confirmCancel`),onConfirm:()=>{if(!c.currentPlanet)return!1;let{item:t,index:r}=n(c.currentPlanet.buildQueue,e);if(!t)return!1;if(t.type===`building`){let e=s(c.currentPlanet,t);ee(c.currentPlanet.resources,e)}return c.currentPlanet.buildQueue.splice(r,1),!0}})},j=e=>{b.value?.show({title:g(`queue.cancelResearch`),message:g(`queue.confirmCancel`),onConfirm:()=>{if(!c.currentPlanet)return!1;let{item:t,index:r}=n(c.player.researchQueue,e);if(!t)return!1;if(t.type===`technology`){let e=Oe(t);ee(c.currentPlanet.resources,e)}return c.player.researchQueue.splice(r,1),!0}})};return(e,t)=>(m(),v(a(Fn),{open:S.value,"onUpdate:open":t[1]||=e=>S.value=e},{default:T(()=>[h(a(bn),{collapsible:`icon`},{default:T(()=>[h(a(wn),{class:`border-b`},{default:T(()=>[l(`div`,_a,[t[2]||=l(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10 group-data-[collapsible=icon]:w-8`},null,-1),l(`h1`,va,_(a(P).title),1)])]),_:1}),h(a(xn),null,{default:T(()=>[O.value?(m(),v(a(Cn),{key:0,class:`border-b group-data-[collapsible=icon]:hidden`},{default:T(()=>[l(`div`,ya,[l(`div`,null,[l(`p`,ba,[E(_(O.value.name)+` `,1),O.value.isMoon?(m(),v(a(z),{key:0,variant:`secondary`,class:`ml-1 text-xs`},{default:T(()=>[E(_(a(g)(`planet.moon`)),1)]),_:1})):D(``,!0)]),l(`p`,xa,` [`+_(O.value.position.galaxy)+`:`+_(O.value.position.system)+`:`+_(O.value.position.position)+`] `,1)]),l(`div`,Sa,[l(`div`,Ca,[l(`span`,wa,_(a(g)(`player.points`)),1),l(`span`,Ta,_(a(Z)(a(c).player.points)),1)])]),Ne.value||O.value.isMoon?(m(),r(`div`,Ea,[O.value.isMoon?(m(),v(a(R),{key:0,onClick:Pe,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:T(()=>[E(_(a(g)(`planet.backToPlanet`)),1)]),_:1})):k.value?(m(),v(a(R),{key:1,onClick:A,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:T(()=>[E(_(a(g)(`planet.switchToMoon`)),1)]),_:1})):D(``,!0)])):D(``,!0)])]),_:1})):D(``,!0),h(a(Cn),null,{default:T(()=>[h(a(Dn),null,{default:T(()=>[(m(),r(o,null,p(be,t=>h(a(Pn),{key:t.path},{default:T(()=>[h(a(Nn),{"as-child":``,"is-active":e.$route.path===t.path,tooltip:t.name.value},{default:T(()=>[h(a(Re),{to:t.path},{default:T(()=>[(m(),v(ce(t.icon))),l(`span`,null,_(t.name.value),1),t.path===`/messages`&&Ee.value>0?(m(),v(a(On),{key:0},{default:T(()=>[E(_(Ee.value),1)]),_:1})):D(``,!0)]),_:2},1032,[`to`])]),_:2},1032,[`is-active`,`tooltip`])]),_:2},1024)),64))]),_:1})]),_:1})]),_:1}),h(a(Sn),{class:`border-t`},{default:T(()=>[h(a(Dn),null,{default:T(()=>[h(a(Pn),null,{default:T(()=>[h(a(an),null,{default:T(()=>[h(a(sn),{"as-child":``},{default:T(()=>[h(a(Nn),{tooltip:a(Be)[a(c).locale]},{default:T(()=>[h(a(It)),l(`span`,null,_(a(Be)[a(c).locale]),1)]),_:1},8,[`tooltip`])]),_:1}),h(a(on),{class:`w-48 p-2`,side:`right`,align:`end`},{default:T(()=>[l(`div`,Da,[(m(),r(o,null,p(x,e=>h(a(R),{key:e,onClick:t=>a(c).locale=e,variant:a(c).locale===e?`secondary`:`ghost`,class:`w-full justify-start`,size:`sm`},{default:T(()=>[E(_(a(Be)[e]),1)]),_:2},1032,[`onClick`,`variant`])),64))])]),_:1})]),_:1})]),_:1}),h(a(Pn),null,{default:T(()=>[h(a(Nn),{onClick:t[0]||=e=>f.value=!a(f),tooltip:a(f)?a(g)(`sidebar.lightMode`):a(g)(`sidebar.darkMode`)},{default:T(()=>[a(f)?(m(),v(a(Wt),{key:0})):(m(),v(a(Gt),{key:1})),l(`span`,null,_(a(f)?a(g)(`sidebar.lightMode`):a(g)(`sidebar.darkMode`)),1)]),_:1},8,[`tooltip`])]),_:1}),h(a(Pn),{class:`hidden sm:inline`},{default:T(()=>[h(a(Nn),{onClick:Fe,tooltip:S.value?a(g)(`sidebar.collapse`):a(g)(`sidebar.expand`)},{default:T(()=>[h(a(At),{class:`group-data-[state=collapsed]:rotate-180 transition-transform`}),l(`span`,null,_(a(g)(`sidebar.collapse`)),1)]),_:1},8,[`tooltip`])]),_:1})]),_:1})]),_:1})]),_:1}),h(a(En),null,{default:T(()=>[l(`div`,Oa,[O.value?(m(),r(`header`,ka,[l(`div`,Aa,[l(`div`,ja,[h(a(In),{class:`lg:hidden`})]),l(`div`,Ma,[(m(),r(o,null,p(ke,e=>l(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2 flex-shrink-0`},[h(Rn,{type:e.key,size:`md`},null,8,[`type`]),l(`div`,Na,[l(`p`,{class:y([`text-xs sm:text-sm font-medium truncate`,a(tr)(O.value.resources[e.key],we.value?.[e.key]||1/0)])},_(a(Z)(O.value.resources[e.key]))+` / `+_(a(Z)(we.value?.[e.key]||0)),3),l(`p`,Pa,` +`+_(a(Z)(Math.round((Se.value?.[e.key]||0)/60)))+`/`+_(a(g)(`resources.perMinute`)),1)])])),64))]),l(`div`,Fa,[O.value.buildQueue.length>0?(m(),r(`div`,Ia,[t[3]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse`},null,-1),l(`span`,La,_(a(g)(`queue.building`)),1)])):D(``,!0),a(c).player.researchQueue.length>0?(m(),r(`div`,Ra,[t[4]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse`},null,-1),l(`span`,za,_(a(g)(`queue.researching`)),1)])):D(``,!0)])])])):D(``,!0),O.value&&(O.value.buildQueue.length>0||a(c).player.researchQueue.length>0)?(m(),r(`div`,Ba,[l(`div`,Va,[(m(!0),r(o,null,p(O.value.buildQueue,e=>(m(),r(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,Ha,[l(`div`,Ua,[t[5]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,Wa,_(Le(e)),1),l(`span`,Ga,[e.type===`ship`||e.type===`defense`?(m(),r(o,{key:0},[E(` → `+_(a(g)(`queue.quantity`))+` `+_(e.quantity),1)],64)):(m(),r(o,{key:1},[E(`→ `+_(a(g)(`queue.level`))+` `+_(e.targetLevel),1)],64))])]),l(`div`,Ka,[l(`span`,qa,_(a(Q)(ze(e))),1),h(a(R),{onClick:t=>Ue(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:T(()=>[E(_(a(g)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),h(a(rn),{"model-value":Ve(e),class:`h-1.5`},null,8,[`model-value`])]))),128)),(m(!0),r(o,null,p(a(c).player.researchQueue,e=>(m(),r(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,Ja,[l(`div`,Ya,[t[6]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,Xa,_(Le(e)),1),l(`span`,Za,` → `+_(a(g)(`queue.level`))+` `+_(e.targetLevel),1)]),l(`div`,Qa,[l(`span`,$a,_(a(Q)(ze(e))),1),h(a(R),{onClick:t=>j(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:T(()=>[E(_(a(g)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),h(a(rn),{"model-value":Ve(e),class:`h-1.5`},null,8,[`model-value`])]))),128))])])):D(``,!0),l(`main`,eo,[l(`div`,to,[h(a(Ie))])])])]),_:1}),h(Wn,{ref_key:`confirmDialog`,ref:b},null,512),h(ma),h(ha,{position:`top-center`})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-784f12ab`]]),ro=`modulepreload`,io=function(e,t){return new URL(e,t).href},ao={};const $=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=io(t,n),t in ao)return;ao[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ro,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var oo=Le({history:Fe(),routes:[{path:`/`,name:`overview`,component:()=>$(()=>import(`./OverviewView-Eaupz5BG.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)},{path:`/buildings`,name:`buildings`,component:()=>$(()=>import(`./BuildingsView-BQvU9Qow.js`),__vite__mapDeps([14,1,2,3,4,5,6,7,8,9,15,10,16,17,12,11,13]),import.meta.url)},{path:`/research`,name:`research`,component:()=>$(()=>import(`./ResearchView-B3XsR2nC.js`),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/shipyard`,name:`shipyard`,component:()=>$(()=>import(`./ShipyardView-CezaC9x_.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/defense`,name:`defense`,component:()=>$(()=>import(`./DefenseView-DuI03pUa.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/fleet`,name:`fleet`,component:()=>$(()=>import(`./FleetView-BBGER_SR.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,15,10,19,16,20,11,12,13]),import.meta.url)},{path:`/officers`,name:`officers`,component:()=>$(()=>import(`./OfficersView-Dfgf1DR0.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,16,11,12,13]),import.meta.url)},{path:`/battle-simulator`,name:`battle-simulator`,component:()=>$(()=>import(`./BattleSimulatorView-BDzc1XdU.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,15,10,26,27,12,11,13]),import.meta.url)},{path:`/messages`,name:`messages`,component:()=>$(()=>import(`./MessagesView-DpnWNQDD.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,9,15,10,26,27,12,11,13]),import.meta.url)},{path:`/galaxy`,name:`galaxy`,component:()=>$(()=>import(`./GalaxyView-TxzLJXed.js`),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,15,10,19,16,11,30,27,13]),import.meta.url)},{path:`/settings`,name:`settings`,component:()=>$(()=>import(`./SettingsView-C1jUcCe5.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,15,10,11,13]),import.meta.url)},{path:`/gm`,name:`gm`,component:()=>$(()=>import(`./GMView-Cql_sk5m.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,15,10,11,30,12,13]),import.meta.url),beforeEnter:(e,t,n)=>{n(`/`)}}]}),so=k(no),co=Ne();co.use(Pe),so.use(co),so.use(oo),so.mount(`#app`);export{z as A,Wn as C,kn as D,An as E,$t as F,Qt as I,P as L,R as M,L as N,Tn as O,I as P,Gn as S,jn as T,Jn as _,tr as a,B as b,J as c,Qn as d,G as f,Xn as g,Zn as h,Q as i,tn as j,rn as k,q as l,U as m,nr as n,rr as o,W as p,Z as r,Y as s,Hr as t,K as u,H as v,Rn as w,qn as x,V as y}; |