feat: add Holo-work tracking, teams and board bonuses
Publish GitHub Pages output / publish (push) Successful in 30s

This commit is contained in:
dal4segno committed 2026-09-12 15:16:30 +09:00
1 parent cfea24f5f5
commit dd37f59565
25 files changed
+1237 -33

No files matched your search

+5 -17
View File
@@ -10,6 +10,7 @@
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';
import { defaultPreferences } from '$lib/models/default-preferences';
import { createUserData } from '$lib/models/user-data';
import { clearBrowserData, loadBrowserData, parseUserData, saveBrowserData } from '$lib/storage/browser-storage';
@@ -100,21 +101,6 @@
const boardNodeGroups = boardSummary.nodeGroups as Record<string, BoardNode[]>;
const emptyCardState: CollectionCardState = { owned: false, awakening: 0 };
function defaultPreferences(): CardListPreferences {
return {
types: ['큐트', '퓨어', '해피'],
stats: ['퍼포먼스', '테크닉', '센스'],
activeConditions: ['일반', '조건부'],
specialConditions: ['일반', '조건부'],
activeProbabilities: ['높음', '중간'],
cardVariants: ['일반', ...new Set(fiveStarCards.map((card) => card.versionName).filter(Boolean))],
generations: [...new Set(fiveStarCards.map((card) => card.generation).filter(Boolean))],
sortKey: null,
sortDirection: 'asc',
skillLevel: 1
};
}
let userData = createUserData(defaultPreferences());
let message = '';
let isError = false;
@@ -379,7 +365,8 @@
}
function persist(next = userData) {
userData = saveBrowserData(next);
const { holoWorkCounts, holoWorkTeams } = loadBrowserData(defaultPreferences());
userData = saveBrowserData({ ...next, holoWorkCounts, holoWorkTeams });
greenEfficiencyResult = null;
greenEfficiencyError = '';
showMessage('변경 내용을 이 브라우저에 저장했습니다.');
@@ -1004,7 +991,8 @@
function exportUserData() {
try {
userData = saveBrowserData(userData);
const { holoWorkCounts, holoWorkTeams } = loadBrowserData(defaultPreferences());
userData = saveBrowserData({ ...userData, holoWorkCounts, holoWorkTeams });
const url = URL.createObjectURL(new Blob([JSON.stringify(userData, null, 2)], { type: 'application/json' }));
const link = document.createElement('a');
link.href = url;