wip: PageFront 상단 정보
This commit is contained in:
+32
-7
@@ -16,10 +16,32 @@
|
||||
<BContainer v-if="asyncReady" id="container" :position="'position-relative'" :toast="{ root: true }" class="bg0">
|
||||
<main class="row gx-0">
|
||||
<div class="commonToolbar">툴바?</div>
|
||||
<div class="gameInfo">시나리오</div>
|
||||
<div class="gameInfo">토너먼트/설문</div>
|
||||
<div class="gameInfo2">접속중인</div>
|
||||
<div class="nationNotice">국방</div>
|
||||
<div class="scenarioName">시나리오</div>
|
||||
<div v-if="frontInfo" class="gameInfo">
|
||||
<div class="subScenarioName">{{globalInfo.scenarioText}}</div>
|
||||
<div class="subNPCType">NPC 수, 상성: {{globalInfo.extendedGeneral?'확장':'표준'}} {{globalInfo.isFiction?'가상':'사실'}}</div>
|
||||
<div class="subNPCMode">NPC선택: {{['불가능','가능','선택 생성'][globalInfo.npcMode]}}</div>
|
||||
<div class="subTournamentMode">토너먼트: 경기당 {{calcTournamentTerm(globalInfo.turnterm)}}분</div>
|
||||
<div class="subOtherSetting">기타 설정: (TODO)자율행동[내정, 훈련/사기진작, 사령턴, 24시간 유효]</div>
|
||||
<div class="subYearMonth">현재: {{globalInfo.year}}年 {{globalInfo.month}}月 ({{globalInfo.turnterm}}분 턴 서버)</div>
|
||||
<div class="subOnlineUserCnt">전체 접속자 수: {{globalInfo.onlineUserCnt.toLocaleString()}}명</div>
|
||||
<div class="subAPILimit">턴당 갱신횟수: {{globalInfo.apiLimit.toLocaleString()}}회</div>
|
||||
<div class="subGeneralCnt">
|
||||
등록 장수: 유저
|
||||
{{globalInfo.genCount.toLocaleString()}} / {{globalInfo.generalCntLimit.toLocaleString()}}
|
||||
+ NPC TODO:NPC Cnt 명
|
||||
</div>
|
||||
<div class="subTournamentState">TODO: tournament Text</div>
|
||||
<div class="subLastExecuted" :style="{color:serverLocked?'magenta':'cyan'}">동작 시각: {{formatTime(lastExecuted).substring(5)}}</div>
|
||||
<div v-if="globalInfo.auctionCount" class="subAuctionState" style="color:cyan">{{globalInfo.auctionCount.toLocaleString()}}건 거래 진행중</div>
|
||||
<div v-else class="subAcutionState" style="color:magenta">진행중인 거래 없음</div>
|
||||
<div v-if="globalInfo.lastVote" class="subVoteState">
|
||||
<span style="color:cyan">설문 진행 중: </span><span>{{globalInfo.lastVote.title}}</span>
|
||||
</div>
|
||||
<div v-else class="subVoteState" style="color:magenta">진행중인 설문 없음</div>
|
||||
</div>
|
||||
<div class="onlineNations">접속중인 국가: {{globalInfo.onlineNations}}</div>
|
||||
<div class="nationNotice">국가 방침</div>
|
||||
<div>접속자</div>
|
||||
<div class="d-grid"><BButton @click="tryRefresh">갱신</BButton></div>
|
||||
<!-- TODO: 운영자 툴바는 어디에?-->
|
||||
@@ -29,14 +51,14 @@
|
||||
<CityBasicCard :city="frontInfo.city" />
|
||||
</div>
|
||||
<div v-if="frontInfo" class="nationInfo col-12 col-md-6">
|
||||
<NationBasicCard :nation="frontInfo.nation" :global="frontInfo.global" />
|
||||
<NationBasicCard :nation="frontInfo.nation" :global="globalInfo" />
|
||||
</div>
|
||||
<div v-if="frontInfo && generalInfo && nationStaticInfo" class="generalInfo col-12 col-md-6">
|
||||
<GeneralBasicCard
|
||||
:general="generalInfo"
|
||||
:nation="nationStaticInfo"
|
||||
:troopInfo="frontInfo.general.troopInfo"
|
||||
:turnTerm="frontInfo.global.turnterm"
|
||||
:turnTerm="globalInfo.turnterm"
|
||||
:lastExecuted="lastExecuted"
|
||||
/>
|
||||
</div>
|
||||
@@ -106,6 +128,8 @@ import NationBasicCard from "./components/NationBasicCard.vue";
|
||||
import GeneralBasicCard from "./components/GeneralBasicCard.vue";
|
||||
import type { GeneralListItemP1 } from "./defs/API/Nation";
|
||||
import type { NationStaticItem } from "./defs";
|
||||
import { formatTime } from "./util/formatTime";
|
||||
import { calcTournamentTerm } from "./utilGame";
|
||||
|
||||
const { serverName, serverNick, serverID } = staticValues;
|
||||
|
||||
@@ -268,7 +292,7 @@ watch(refreshCounter, async () => {
|
||||
});
|
||||
|
||||
const frontInfo = ref<GetFrontInfoResponse>();
|
||||
|
||||
const globalInfo = ref<GetFrontInfoResponse['global']>({} as GetFrontInfoResponse['global'])
|
||||
const generalInfo = ref<GeneralListItemP1>();
|
||||
const nationStaticInfo = ref<NationStaticItem>();
|
||||
|
||||
@@ -284,6 +308,7 @@ watch(refreshCounter, async () => {
|
||||
generalInfoLock = false;
|
||||
|
||||
frontInfo.value = response;
|
||||
globalInfo.value = response.global;
|
||||
generalInfo.value = response.general;
|
||||
|
||||
const newLastExecuted = parseTime(response.global.lastExecuted);
|
||||
|
||||
Reference in New Issue
Block a user