성운 성장률 표시 · 내 행성 칸 그림 수정

This commit is contained in:
Sn-Kinos
2026-10-05 17:48:30 +09:00
parent 3a3be4c3d3
commit 5238fc4ef3
4 changed files with 15 additions and 7 deletions
+4
View File
@@ -248,8 +248,12 @@ class PlanetDetail {
this.ownerPhoto,
this.fpiUpdatedAt,
this.joined = true,
this.growthPop = 0,
});
/// 성운 누적 POP(`fandoms.growthPop`) — 성운 FPI 탭 「성운 성장률」의 분자.
final int growthPop;
/// 내가 이 행성/성운의 멤버인가(`fandoms/{id}/members/{uid}` 존재). 히어로의
/// 「가입중 / 가입하기」 알약이 이 값을 그린다(명세 §2.72 「가입 버튼 - 소속 상태」).
final bool joined;
@@ -408,7 +408,7 @@ class _FpiTab extends StatelessWidget {
padding: const EdgeInsets.all(16),
sliver: SliverList.list(
children: [
const _NebulaFpi(),
_NebulaFpi(pop: detail.growthPop),
],
),
),
@@ -499,10 +499,12 @@ class _FpiTab extends StatelessWidget {
///
/// 「기여 현황」 카드(#1a1a1c r12 · 안쪽 12/16) — 성운 성장률 · 진행 막대 · 0 ~ 목표,
/// 「실시간 기여 랭킹」 — 1위 왕관 · 빈 원 80 · 「아직 기여자가 없어요」.
/// 목표는 원장 B-10 의 1,000 POP(사본 500,000 은 과거 수치). 성운 누적 POP 과 기여자
/// 목록은 상세 데이터에 아직 없어 0 · 빈 상태로 둔다.
/// 목표는 원장 B-10 의 1,000 POP(사본 500,000 은 과거 수치). 분자는 서버 `growthPop`.
/// 기여자 목록은 상세 데이터에 아직 없어 빈 상태로 둔다.
class _NebulaFpi extends StatelessWidget {
const _NebulaFpi();
const _NebulaFpi({required this.pop});
final int pop;
static TextStyle _b(double size, Color color, {double? height}) => TextStyle(
fontFamily: AppFonts.body,
@@ -524,7 +526,6 @@ class _NebulaFpi extends StatelessWidget {
@override
Widget build(BuildContext context) {
const pop = 0;
final target = defaultNebulaTargets.pop;
final rate = pop * 100 ~/ target;
return Column(
@@ -169,6 +169,7 @@ class FirestorePlanetRepository implements PlanetRepository {
},
isNebula: stage == null ? nebula : stage == 0,
members: fandom.intOr('memberCount'),
growthPop: fandom.intOr('growthPop'),
scores: [
for (final metric in FpiMetric.values)
FpiScore(