Figma 설명 프레임 반영 — 로그인·온보딩·스플래시 · HOME · GALAXY · 퀘스트·이클립스·알림
This commit is contained in:
@@ -32,6 +32,26 @@ enum FpiMetric {
|
||||
final String label;
|
||||
}
|
||||
|
||||
/// 팬덤 규모 — Figma 행성 정보 영역 `544:19765` 「소형 : 1,000명 미만 · 중형 : 50,000명 미만 ·
|
||||
/// 대형 : 50,000명 이상」. 기준은 가입자 수다(행성 상세 · GALAXY 검색 결과가 같이 쓴다).
|
||||
enum FandomSize {
|
||||
small,
|
||||
medium,
|
||||
large;
|
||||
|
||||
static FandomSize of(int members) => members < 1000
|
||||
? small
|
||||
: members < 50000
|
||||
? medium
|
||||
: large;
|
||||
|
||||
String get label => switch (this) {
|
||||
small => appL10n.planetSizeSmall,
|
||||
medium => appL10n.planetSizeMedium,
|
||||
large => appL10n.planetSizeLarge,
|
||||
};
|
||||
}
|
||||
|
||||
/// 지표별 값. 명세 — *값 · 전체 순위 · 최근 동향 · 내 기여도 상위 값*.
|
||||
class FpiScore {
|
||||
const FpiScore({
|
||||
@@ -93,8 +113,14 @@ class FpiRankRow {
|
||||
required this.value,
|
||||
this.change = 0,
|
||||
this.isMine = false,
|
||||
this.planetType,
|
||||
this.colorKey,
|
||||
});
|
||||
|
||||
/// 행성 랭킹 줄의 행성 그림(Figma `546:14629` 「행성 이미지」) — 생성 때 고른 형태 · 색. 없으면 기본 그림.
|
||||
final String? planetType;
|
||||
final String? colorKey;
|
||||
|
||||
/// 행성 랭킹이면 `fandomId`, 사용자 랭킹이면 `uid`, 국가 랭킹이면 국가 코드.
|
||||
final String id;
|
||||
|
||||
@@ -272,8 +298,13 @@ class PlanetDetail {
|
||||
this.growthPop = 0,
|
||||
this.nebulaTargetPop = 1000,
|
||||
this.nebulaTargetMembers = 10,
|
||||
this.isOwner = false,
|
||||
});
|
||||
|
||||
/// 내가 만든 행성/성운인가(`fandoms.founderUid`). Figma `544:19765` 「가입 버튼 - 내가 생성했을 경우
|
||||
/// hide」 · `543:19721` 「(타인 행성) 신고/차단 · (내 행성) 편집」 — 편집은 C-50 으로 두지 않는다.
|
||||
final bool isOwner;
|
||||
|
||||
/// 성운 → 정식 행성 전환 조건 — 서버와 같은 `config/policy`(원장 B-10 · `nebulaMinPop` · `nebulaMinMembers`).
|
||||
final int nebulaTargetPop;
|
||||
final int nebulaTargetMembers;
|
||||
|
||||
Reference in New Issue
Block a user