Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions wasmegg/rockets-tracker/src/components/PlayerCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@
>
<img :src="iconURL('egginc/egg_of_prophecy.png', 64)" class="h-4 w-4 -ml-0.5" />
<span class="text-yellow-500 underline">
{{ prophecyEggsProgress.fromContracts.completed }}
{{ prophecyEggsProgress.fromContracts.completed }}/{{ progressPE.fromContracts.available }}
</span>
<svg class="h-3.5 w-3.5 text-gray-500 hover:text-gray-600 ml-1" viewBox="0 0 20 20" fill="currentColor">
<path
Expand All @@ -227,7 +227,7 @@
>
<img :src="iconURL('egginc/egg_of_prophecy.png', 64)" class="h-4 w-4 -ml-0.5" />
<span class="text-yellow-500 underline">
{{ prophecyEggsProgress.fromContractSeasons.completed }}
{{ prophecyEggsProgress.fromContractSeasons.completed }}/{{ prophecyEggsProgress.fromContractSeasons.available }}
</span>
<svg class="h-3.5 w-3.5 text-gray-500 hover:text-gray-600 ml-1" viewBox="0 0 20 20" fill="currentColor">
<path
Expand Down Expand Up @@ -732,6 +732,7 @@ import {
PlayerCraftingLevel,
getXPFromCraftingLevel,
formatDuration,
ProphecyEggsProgressAggregate
} from 'lib';
import BaseInfo from 'ui/components/BaseInfo.vue';
import { getMissionDataPreference, getMissionDataSubmitTime, recordMissionDataPreference } from '../lib/missiondata';
Expand Down Expand Up @@ -823,9 +824,10 @@ const ZERO_LEGENDARY_UNCONDITIONALLY_UNWORTHY_USER_NICKNAMES = new Map<string, s
const props = defineProps<{
backup: ei.IBackup;
inventory: Inventory;
progressPE: ProphecyEggsProgressAggregate;
eventBus: Emitter<Record<typeof REPORT_LEGENDARIES | typeof REPORT_MISSIONDATA, unknown>>;
}>();
const { backup, inventory, eventBus } = toRefs(props);
const { backup, inventory, progressPE, eventBus } = toRefs(props);

const collapsed = ref(getLocalStorage(COLLAPSE_PLAYER_CARD_LOCALSTORAGE_KEY) === 'true');
const toggleCollapse = () => {
Expand Down
14 changes: 12 additions & 2 deletions wasmegg/rockets-tracker/src/components/TheReport.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<player-card :backup="backup" :inventory="inventory" :event-bus="eventBus" />
<player-card :backup="backup" :inventory="inventory" :progressPE="prophecyEggsProgress" :event-bus="eventBus" />

<collapsible-section
section-title="Active missions"
Expand Down Expand Up @@ -46,10 +46,11 @@
import { computed, defineComponent, PropType } from 'vue';
import { Emitter } from 'mitt';

import { Inventory, requestFirstContact, UserBackupEmptyError } from 'lib';
import { Inventory, requestFirstContact, UserBackupEmptyError, getProphecyEggsProgress, requestContractsArchive,} from 'lib';
import { useSectionVisibility } from 'ui/composables/section_visibility';
import { reportLegendaries, reportMissionData } from '@/lib';
import { REPORT_LEGENDARIES, REPORT_MISSIONDATA } from '@/events';
import { getUserContractList, contractSeasonList, } from '@/../../past-contracts/src/contracts';
import CollapsibleSection from '@/components/CollapsibleSection.vue';
import PlayerCard from '@/components/PlayerCard.vue';
import ActiveMissionsReport from '@/components/ActiveMissionsReport.vue';
Expand Down Expand Up @@ -82,6 +83,7 @@ export default defineComponent({
/* eslint-disable vue/no-setup-props-destructure */
async setup({ playerId, eventBus }) {
const data = await requestFirstContact(playerId);
const contractsArchive = await requestContractsArchive(playerId);
if (!data.backup || !data.backup.game) {
throw new UserBackupEmptyError(playerId);
}
Expand All @@ -94,6 +96,13 @@ export default defineComponent({
if (!artifactsDB) {
throw new Error(`${playerId}: no artifacts database in backup`);
}
const contracts = getUserContractList(backup, contractsArchive);
const contractsWithPE = contracts.filter(c => c.numAvailablePEs > 0);
const prophecyEggsProgress = getProphecyEggsProgress(backup, {
numPEsAvailable: contractsWithPE.reduce((total, c) => total + c.numAvailablePEs, 0),
numPEContractsAvailable: contractsWithPE.length,
contractSeasons: contractSeasonList,
});
const inventory = computed(() => new Inventory(artifactsDB));
const activeMissions = artifactsDB.missionInfos?.concat(artifactsDB.fuelingMission ?? []) || [];
const { isVisibleSection, toggleSectionVisibility } = useSectionVisibility();
Expand All @@ -106,6 +115,7 @@ export default defineComponent({
reportMissionData(backup);
});
return {
prophecyEggsProgress,
backup,
progress,
artifactsDB,
Expand Down