라이브 티커 · 갤럭시 검색 색인 · 주간 랭킹 스냅샷 · 연속 ZAP 상한 · 가입 행성 Zap · 성운 목표 · 랭킹 갱신 안내 · 행성 터치 반응
This commit is contained in:
@@ -123,10 +123,29 @@ String countryName(String code) {
|
||||
|
||||
/// 랭킹 한 판.
|
||||
class FpiRanking {
|
||||
const FpiRanking({required this.rows, this.mine, this.mockNote});
|
||||
const FpiRanking({
|
||||
required this.rows,
|
||||
this.mine,
|
||||
this.mockNote,
|
||||
this.updatedAt,
|
||||
this.refreshMinutes,
|
||||
});
|
||||
|
||||
final List<FpiRankRow> rows;
|
||||
|
||||
/// 마지막 갱신 시각 · 갱신 주기(분) — 별첨 1 ② 예외처리 「갱신 주기·마지막 갱신 시각 화면 안내」.
|
||||
/// 행성 랭킹은 1분 집계(`fpiUpdatedAt`), 사용자 · 국가 랭킹은 5분 집계다.
|
||||
final DateTime? updatedAt;
|
||||
final int? refreshMinutes;
|
||||
|
||||
FpiRanking withUpdate(DateTime? at, int minutes) => FpiRanking(
|
||||
rows: rows,
|
||||
mine: mine,
|
||||
mockNote: mockNote,
|
||||
updatedAt: at,
|
||||
refreshMinutes: minutes,
|
||||
);
|
||||
|
||||
/// 내 줄(행성 랭킹이면 내 행성, 사용자 랭킹이면 나). 목록 밖에 따로 띄운다 —
|
||||
/// Figma `546:14628` 「소속 행성 지표 랭킹 영역」 · `546:14668` 「나의 랭킹 영역」.
|
||||
final FpiRankRow? mine;
|
||||
@@ -251,8 +270,14 @@ class PlanetDetail {
|
||||
this.fpiUpdatedAt,
|
||||
this.joined = true,
|
||||
this.growthPop = 0,
|
||||
this.nebulaTargetPop = 1000,
|
||||
this.nebulaTargetMembers = 10,
|
||||
});
|
||||
|
||||
/// 성운 → 정식 행성 전환 조건 — 서버와 같은 `config/policy`(원장 B-10 · `nebulaMinPop` · `nebulaMinMembers`).
|
||||
final int nebulaTargetPop;
|
||||
final int nebulaTargetMembers;
|
||||
|
||||
/// 성운 누적 POP(`fandoms.growthPop`) — 성운 FPI 탭 「성운 성장률」의 분자.
|
||||
final int growthPop;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user