mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-12 07:55:11 +08:00
重构BattleReportDialog和BattleSimulatorView相关静态资源,替换旧版JS/CSS文件,提升界面一致性和交互体验。新增和优化空状态、滚动区域等通用UI组件,移除部分冗余composable,完善多语言内容。引入导弹逻辑,补充版本检测工具,提升整体代码结构和可维护性。
1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
import{En as e,Fn as t,On as n,Rn as r,Yn as i,ar as ee,cn as a,cr as o,dn as s,fn as c,ln as l,on as u,pn as d,rn as f,rr as p,sn as m,un as h}from"./game-logic-BBFCPVtv.js";import{l as te,m as ne,o as g}from"./vendor-icons-Ccm2_GPI.js";import{t as _}from"./TooltipProvider-Cspoy8HK.js";import{$ as re,B as v,C as ie,E as ae,J as oe,L as y,O as se,Q as ce,R as b,S as le,X as ue,a as de,o as x,w as S,z as C}from"./index-B4KMqZ_y.js";import{t as w}from"./useGameConfig-DLqfPHtW.js";var T={key:0,class:`space-y-4`},E={class:`grid grid-cols-1 md:grid-cols-2 gap-4 text-sm`},D={class:`p-3 bg-blue-50 dark:bg-blue-950/20 rounded-lg`},O={class:`font-medium text-blue-600 dark:text-blue-400 mb-1`},k={key:0,class:`text-xs text-muted-foreground`},A={key:1,class:`text-xs text-muted-foreground`},j={class:`p-3 bg-red-50 dark:bg-red-950/20 rounded-lg`},M={class:`font-medium text-red-600 dark:text-red-400 mb-1`},N={key:0,class:`text-xs text-muted-foreground`},P={key:1,class:`text-xs text-muted-foreground`},F={class:`text-lg font-bold`},I={key:0,class:`text-sm mt-1`},L={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},R={class:`space-y-2`},z={class:`text-sm font-medium text-red-600 dark:text-red-400`},B={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},V={class:`text-muted-foreground`},H={class:`ml-2 font-medium`},fe={key:0,class:`text-muted-foreground`},pe={class:`space-y-2`},me={class:`text-sm font-medium text-red-600 dark:text-red-400`},he={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},ge={class:`text-muted-foreground`},_e={class:`ml-2 font-medium`},ve={class:`text-muted-foreground`},ye={class:`ml-2 font-medium`},be={key:0,class:`text-muted-foreground`},xe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Se={key:0,class:`space-y-2`},Ce={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},we={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Te={class:`text-muted-foreground`},Ee={class:`ml-2 font-medium`},De={key:1,class:`space-y-2`},Oe={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},ke={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Ae={class:`text-muted-foreground`},je={class:`ml-2 font-medium`},Me={class:`text-muted-foreground`},Ne={class:`ml-2 font-medium`},Pe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Fe={key:0,class:`p-3 bg-green-50 dark:bg-green-950 rounded-lg`},Ie={class:`text-sm font-medium mb-2 text-green-600 dark:text-green-400`},Le={class:`flex flex-wrap gap-3 text-xs`},Re={key:0,class:`flex items-center gap-1`},ze={key:1,class:`flex items-center gap-1`},Be={key:2,class:`flex items-center gap-1`},Ve={key:1,class:`p-3 bg-muted rounded-lg`},He={class:`text-sm font-medium mb-2`},Ue={class:`flex flex-wrap gap-3 text-xs`},We={key:0,class:`flex items-center gap-1`},Ge={key:1,class:`flex items-center gap-1`},Ke={key:0,class:`text-xs text-muted-foreground mt-2`},qe={key:1,class:`space-y-2`},Je={key:0,class:`relative pl-6 space-y-4`},Ye={class:`border rounded-lg p-3 bg-card hover:shadow-md transition-shadow`},Xe={class:`flex items-center justify-between mb-3`},Ze={class:`text-sm font-semibold`},Qe={class:`flex gap-3 text-xs text-muted-foreground`},$e={class:`flex items-center gap-1`},et={class:`flex items-center gap-1`},tt={class:`grid grid-cols-1 md:grid-cols-2 gap-3`},nt={class:`bg-red-50 dark:bg-red-950/20 rounded p-2`},rt={class:`text-xs font-medium text-red-600 dark:text-red-400 mb-1.5`},it={class:`text-xs space-y-0.5`},at={class:`text-muted-foreground`},ot={class:`font-medium`},st={key:0,class:`text-muted-foreground italic`},ct={class:`bg-blue-50 dark:bg-blue-950/20 rounded p-2`},lt={class:`text-xs font-medium text-blue-600 dark:text-blue-400 mb-1.5`},ut={class:`text-xs space-y-0.5`},dt={class:`text-muted-foreground`},U={class:`font-medium`},ft={class:`text-muted-foreground`},pt={class:`font-medium`},mt={key:0,class:`text-muted-foreground italic`},W=d({__name:`BattleReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(d,{emit:W}){let G=d,ht=W,K=re(),gt=ce(),{t:q}=ue(),{SHIPS:J,DEFENSES:Y}=w(),X=i(G.open),Z=i(!1),Q=u(()=>G.report?K.player.planets.find(e=>e.id===G.report.attackerPlanetId):null),$=u(()=>G.report?K.player.planets.find(e=>e.id===G.report.defenderPlanetId)||Object.values(gt.planets).find(e=>e.id===G.report.defenderPlanetId):null);t(()=>G.open,e=>{X.value=e,e&&(Z.value=!1)}),t(X,e=>{ht(`update:open`,e)});let _t=e=>e===`attacker`?`bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-300`:e===`defender`?`bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300`:`bg-gray-50 dark:bg-gray-950 text-gray-700 dark:text-gray-300`;return(t,i)=>(e(),a(p(se),{open:X.value,"onUpdate:open":i[1]||=e=>X.value=e},{default:r(()=>[c(p(ie),{"container-class":`sm:max-w-4xl max-h-[90vh]`},{header:r(()=>[c(p(S),null,{default:r(()=>[c(p(le),{class:`flex items-center gap-2`},{default:r(()=>[c(p(g),{class:`h-5 w-5`}),s(` `+o(p(q)(`messagesView.battleReport`)),1)]),_:1}),d.report?(e(),a(p(ae),{key:0},{default:r(()=>[s(o(p(de)(d.report.timestamp)),1)]),_:1})):l(``,!0)]),_:1})]),default:r(()=>[d.report?(e(),h(`div`,T,[m(`div`,E,[m(`div`,D,[m(`p`,O,o(p(q)(`simulatorView.attacker`)),1),Q.value?(e(),h(`p`,k,o(Q.value.name)+` [`+o(Q.value.position.galaxy)+`:`+o(Q.value.position.system)+`:`+o(Q.value.position.position)+`] `,1)):(e(),h(`p`,A,o(d.report.attackerPlanetId),1))]),m(`div`,j,[m(`p`,M,o(p(q)(`simulatorView.defender`)),1),$.value?(e(),h(`p`,N,o($.value.name)+` [`+o($.value.position.galaxy)+`:`+o($.value.position.system)+`:`+o($.value.position.position)+`] `,1)):(e(),h(`p`,P,o(d.report.defenderPlanetId),1))])]),m(`div`,{class:ee([`text-center p-4 rounded-lg`,_t(d.report.winner)])},[m(`p`,F,o(d.report.winner===`attacker`?p(q)(`messagesView.victory`):d.report.winner===`defender`?p(q)(`messagesView.defeat`):p(q)(`messagesView.draw`)),1),d.report.rounds?(e(),h(`p`,I,o(p(q)(`simulatorView.afterRounds`).replace(`{rounds}`,String(d.report.rounds))),1)):l(``,!0)],2),m(`div`,L,[m(`div`,R,[m(`p`,z,o(p(q)(`messagesView.attackerLosses`)),1),m(`div`,B,[(e(!0),h(f,null,n(d.report.attackerLosses,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,V,o(p(J)[n].name)+`:`,1),m(`span`,H,o(t),1)]))),128)),Object.keys(d.report.attackerLosses).length===0?(e(),h(`p`,fe,o(p(q)(`messagesView.noLosses`)),1)):l(``,!0)])]),m(`div`,pe,[m(`p`,me,o(p(q)(`messagesView.defenderLosses`)),1),m(`div`,he,[(e(!0),h(f,null,n(d.report.defenderLosses.fleet,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,ge,o(p(J)[n].name)+`:`,1),m(`span`,_e,o(t),1)]))),128)),(e(!0),h(f,null,n(d.report.defenderLosses.defense,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,ve,o(p(Y)[n].name)+`:`,1),m(`span`,ye,o(t),1)]))),128)),Object.keys(d.report.defenderLosses.fleet).length===0&&Object.keys(d.report.defenderLosses.defense).length===0?(e(),h(`p`,be,o(p(q)(`messagesView.noLosses`)),1)):l(``,!0)])])]),d.report.attackerRemaining||d.report.defenderRemaining?(e(),h(`div`,xe,[d.report.attackerRemaining&&Object.keys(d.report.attackerRemaining).length>0?(e(),h(`div`,Se,[m(`p`,Ce,o(p(q)(`messagesView.attackerRemaining`)),1),m(`div`,we,[(e(!0),h(f,null,n(d.report.attackerRemaining,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,Te,o(p(J)[n].name)+`:`,1),m(`span`,Ee,o(t),1)]))),128))])])):l(``,!0),d.report.defenderRemaining&&(Object.keys(d.report.defenderRemaining.fleet||{}).length>0||Object.keys(d.report.defenderRemaining.defense||{}).length>0)?(e(),h(`div`,De,[m(`p`,Oe,o(p(q)(`messagesView.defenderRemaining`)),1),m(`div`,ke,[(e(!0),h(f,null,n(d.report.defenderRemaining.fleet,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,Ae,o(p(J)[n].name)+`:`,1),m(`span`,je,o(t),1)]))),128)),(e(!0),h(f,null,n(d.report.defenderRemaining.defense,(t,n)=>(e(),h(`div`,{key:n},[m(`span`,Me,o(p(Y)[n].name)+`:`,1),m(`span`,Ne,o(t),1)]))),128))])])):l(``,!0)])):l(``,!0),m(`div`,Pe,[d.report.plunder&&(d.report.plunder.metal>0||d.report.plunder.crystal>0||d.report.plunder.deuterium>0)?(e(),h(`div`,Fe,[m(`p`,Ie,o(p(q)(`messagesView.plunder`)),1),m(`div`,Le,[d.report.plunder.metal>0?(e(),h(`span`,Re,[c(y,{type:`metal`,size:`sm`}),s(` `+o(p(x)(d.report.plunder.metal)),1)])):l(``,!0),d.report.plunder.crystal>0?(e(),h(`span`,ze,[c(y,{type:`crystal`,size:`sm`}),s(` `+o(p(x)(d.report.plunder.crystal)),1)])):l(``,!0),d.report.plunder.deuterium>0?(e(),h(`span`,Be,[c(y,{type:`deuterium`,size:`sm`}),s(` `+o(p(x)(d.report.plunder.deuterium)),1)])):l(``,!0)])])):l(``,!0),d.report.debrisField&&(d.report.debrisField.metal>0||d.report.debrisField.crystal>0)?(e(),h(`div`,Ve,[m(`p`,He,o(p(q)(`messagesView.debrisField`)),1),m(`div`,Ue,[d.report.debrisField.metal>0?(e(),h(`span`,We,[c(y,{type:`metal`,size:`sm`}),s(` `+o(p(x)(d.report.debrisField.metal)),1)])):l(``,!0),d.report.debrisField.crystal>0?(e(),h(`span`,Ge,[c(y,{type:`crystal`,size:`sm`}),s(` `+o(p(x)(d.report.debrisField.crystal)),1)])):l(``,!0)]),d.report.moonChance&&d.report.moonChance>0?(e(),h(`p`,Ke,o(p(q)(`messagesView.moonChance`))+`: `+o((d.report.moonChance*100).toFixed(1))+`% `,1)):l(``,!0)])):l(``,!0)]),d.report.roundDetails&&d.report.roundDetails.length>0?(e(),h(`div`,qe,[c(p(oe),{onClick:i[0]||=e=>Z.value=!Z.value,variant:`outline`,size:`sm`,class:`w-full`},{default:r(()=>[s(o(Z.value?p(q)(`messagesView.hideRoundDetails`):p(q)(`messagesView.showRoundDetails`)),1)]),_:1}),Z.value?(e(),h(`div`,Je,[i[3]||=m(`div`,{class:`absolute left-2 top-0 bottom-0 w-0.5 bg-border`},null,-1),(e(!0),h(f,null,n(d.report.roundDetails,t=>(e(),h(`div`,{key:t.round,class:`relative`},[i[2]||=m(`div`,{class:`absolute -left-6 top-3 w-4 h-4 rounded-full bg-primary border-2 border-background`},null,-1),m(`div`,Ye,[m(`div`,Xe,[m(`p`,Ze,o(p(q)(`messagesView.round`).replace(`{round}`,String(t.round))),1),c(p(_),{"delay-duration":300},{default:r(()=>[m(`div`,Qe,[c(p(v),null,{default:r(()=>[c(p(b),{"as-child":``},{default:r(()=>[m(`span`,$e,[c(p(te),{class:`h-3 w-3`}),s(` `+o(p(x)(t.attackerRemainingPower)),1)])]),_:2},1024),c(p(C),null,{default:r(()=>[m(`p`,null,o(p(q)(`messagesView.attackerRemainingPower`)),1)]),_:1})]),_:2},1024),c(p(v),null,{default:r(()=>[c(p(b),{"as-child":``},{default:r(()=>[m(`span`,et,[c(p(ne),{class:`h-3 w-3`}),s(` `+o(p(x)(t.defenderRemainingPower)),1)])]),_:2},1024),c(p(C),null,{default:r(()=>[m(`p`,null,o(p(q)(`messagesView.defenderRemainingPower`)),1)]),_:1})]),_:2},1024)])]),_:2},1024)]),m(`div`,tt,[m(`div`,nt,[m(`p`,rt,o(p(q)(`messagesView.attackerLosses`)),1),m(`div`,it,[(e(!0),h(f,null,n(t.attackerLosses,(t,n)=>(e(),h(`div`,{key:n,class:`flex justify-between`},[m(`span`,at,o(p(J)[n].name),1),m(`span`,ot,`-`+o(t),1)]))),128)),Object.keys(t.attackerLosses).length===0?(e(),h(`p`,st,o(p(q)(`messagesView.noLosses`)),1)):l(``,!0)])]),m(`div`,ct,[m(`p`,lt,o(p(q)(`messagesView.defenderLosses`)),1),m(`div`,ut,[(e(!0),h(f,null,n(t.defenderLosses.fleet,(t,n)=>(e(),h(`div`,{key:n,class:`flex justify-between`},[m(`span`,dt,o(p(J)[n].name),1),m(`span`,U,`-`+o(t),1)]))),128)),(e(!0),h(f,null,n(t.defenderLosses.defense,(t,n)=>(e(),h(`div`,{key:n,class:`flex justify-between`},[m(`span`,ft,o(p(Y)[n].name),1),m(`span`,pt,`-`+o(t),1)]))),128)),Object.keys(t.defenderLosses.fleet).length===0&&Object.keys(t.defenderLosses.defense).length===0?(e(),h(`p`,mt,o(p(q)(`messagesView.noLosses`)),1)):l(``,!0)])])])])]))),128))])):l(``,!0)])):l(``,!0)])):l(``,!0)]),_:1})]),_:1},8,[`open`]))}});export{W as t}; |