feat: add collapsible member board effect summaries
Publish GitHub Pages output / publish (push) Successful in 46s
Publish GitHub Pages output / publish (push) Successful in 46s
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
import cardSummary from '$lib/data/cards-summary.json';
|
||||
import boardSummary from '$lib/data/boards-summary.json';
|
||||
import memorySummary from '$lib/data/memory-summary.json';
|
||||
import MemberBoardEffectSummary from '$lib/components/MemberBoardEffectSummary.svelte';
|
||||
import { summarizeMemberBoardEffects } from '$lib/engine/board-effects';
|
||||
import { calculateBoardEffects, calculateUnitPower, cardMatchesSearch, maximumWeightMatching, plainSkillText } from '$lib/engine/index.ts';
|
||||
import { memoryParameterPermil } from '$lib/engine/memory.ts';
|
||||
import type { BoardCardPlacements, CardListPreferences, CollectionCardState } from '$lib/models/user-data';
|
||||
@@ -172,6 +174,17 @@
|
||||
&& new Set(efficiencyFormation.cardIds.map((id) => cardById.get(id)?.characterId)).size === 5
|
||||
&& leaderMembers.some((member) => member.characterId === efficiencyFormation.leaderCharacterId);
|
||||
$: dataView = $page.url.pathname.endsWith('/cards') ? 'cards' : $page.url.pathname.endsWith('/boards') ? 'boards' : 'home';
|
||||
$: selectedEffectSummary = dataView === 'boards' && selectedBoardMember
|
||||
? summarizeMemberBoardEffects(boardSummary, userData.memberBoards, selectedBoardMember,
|
||||
allCards.find((card) => card.characterId === selectedMemberId) ?? null, {
|
||||
placements: userData.boardCards,
|
||||
cards: connectCards.map((card) => ({
|
||||
id: card.id,
|
||||
awakening: userData.collection[card.id]?.awakening ?? 0,
|
||||
connect: card.details.connect
|
||||
}))
|
||||
})
|
||||
: null;
|
||||
onMount(() => {
|
||||
try {
|
||||
userData = loadBrowserData(defaultPreferences());
|
||||
@@ -1475,6 +1488,9 @@
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{#if selectedBoardMember && selectedEffectSummary}
|
||||
<MemberBoardEffectSummary memberName={selectedBoardMember.name} summary={selectedEffectSummary} />
|
||||
{/if}
|
||||
<div class="board-material-summary" aria-label="전체 보드 재료 총합">
|
||||
<h3>전체 보드 재료 합계</h3>
|
||||
<span><small>노드 포인트</small><strong>{allBoardPointTotal.toLocaleString('ko-KR')}</strong></span>
|
||||
@@ -1602,7 +1618,7 @@
|
||||
.board-toolbar p strong { color: #f0a1c2; font-size: 16px; }
|
||||
.board-toolbar div { display: flex; gap: 6px; }
|
||||
.board-toolbar button { padding: 6px 9px; border: 1px solid #394252; border-radius: 7px; color: #aeb7c5; background: #202630; font-size: 12px; font-weight: 750; cursor: pointer; }
|
||||
.board-material-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; padding: 10px; border: 1px solid #303a47; border-radius: 10px; background: #131922; }
|
||||
.board-material-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 0; padding: 10px; border: 1px solid #303a47; border-radius: 10px; background: #131922; }
|
||||
.board-material-summary h3 { width: 100%; margin: 0 0 3px; color: #dce3eb; font-size: 14px; }
|
||||
.board-material-summary span { display: grid; gap: 2px; min-width: 108px; padding: 7px 9px; border-radius: 7px; background: #1c2430; }
|
||||
.board-material-summary small { color: #8490a0; font-size: 11px; }
|
||||
|
||||
Reference in New Issue
Block a user