UI 조정: 해방 주간 헤더 분기, 캐릭터 카드 보스 정렬

- 해방 주간 보스 설정 헤더: 단순 계산에선 합산만, 주차별에선 주간+월간/6500 분할 표시
- 보스 수익 계산기 캐릭터 카드의 보스 아이콘을 보스 목록 순서로 정렬 (12개 상한은 여전히 수익 기준으로 선발)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
caadiq 2026-04-15 22:07:23 +09:00
parent 4e1d2556b2
commit df057057ff
2 changed files with 17 additions and 7 deletions

View file

@ -11,6 +11,7 @@ const MAX_PER_CHARACTER = 12
const MAX_PER_ACCOUNT = 90
function CharacterContent({ char, selections, bosses }) {
const bossIndex = new Map(bosses.map((b, i) => [b.id, i]))
const selectedBosses = Object.entries(selections || {})
.filter(([, sel]) => sel)
.map(([bossId, sel]) => {
@ -25,9 +26,12 @@ function CharacterContent({ char, selections, bosses }) {
}
})
.filter(Boolean)
.sort((a, b) => b.revenue - a.revenue)
const visibleBosses = selectedBosses.slice(0, MAX_PER_CHARACTER)
// 12 ,
const topByRevenue = [...selectedBosses].sort((a, b) => b.revenue - a.revenue).slice(0, MAX_PER_CHARACTER)
const visibleBosses = topByRevenue.sort(
(a, b) => (bossIndex.get(a.boss.id) ?? 0) - (bossIndex.get(b.boss.id) ?? 0)
)
const totalRevenue = visibleBosses.reduce((s, x) => s + x.revenue, 0)
const count = selectedBosses.length

View file

@ -82,11 +82,17 @@ export default function WeeklyDefault({ weekly, onChange, totalWeekly, totalMont
<div className="flex items-center justify-between">
<div className="text-lg font-semibold text-emerald-300">주간 보스 설정</div>
<div className="text-sm tabular-nums">
<span className="text-emerald-300 font-semibold">{totalWeekly}</span>
<span className="text-gray-500 mx-1">+</span>
<span className="text-amber-300 font-semibold">{totalMonthly}</span>
<span className="text-gray-500 mx-1">/</span>
<span className="text-gray-300 font-semibold">6500</span>
{mode === 'weekly' ? (
<>
<span className="text-emerald-300 font-semibold">{totalWeekly}</span>
<span className="text-gray-500 mx-1">+</span>
<span className="text-amber-300 font-semibold">{totalMonthly}</span>
<span className="text-gray-500 mx-1">/</span>
<span className="text-gray-300 font-semibold">6500</span>
</>
) : (
<span className="text-emerald-300 font-semibold">+{totalWeekly + totalMonthly}</span>
)}
</div>
</div>