Figma 설명 프레임 반영 — 로그인·온보딩·스플래시 · HOME · GALAXY · 퀘스트·이클립스·알림
This commit is contained in:
@@ -177,6 +177,12 @@ class FirestorePlanetRepository implements PlanetRepository {
|
||||
final member = memberSnap.data() ?? const <String, dynamic>{};
|
||||
final posts = await postsF;
|
||||
final targets = nebulaTargetsFrom((await policyF).data());
|
||||
// 생성자 = `founderUid`(성운 생성자 · 탄생 전 탈퇴 시 승계자, C-100). 프로필 · 닉네임은 그 멤버 문서에서
|
||||
// 읽는다(Figma `544:19765` 「생성자 프로필 · 닉네임」). 떠났거나 시드 행성이면 줄을 그리지 않는다.
|
||||
final founderUid = fandom.strOr('founderUid');
|
||||
final founder = founderUid.isEmpty
|
||||
? null
|
||||
: (await db.doc('fandoms/$fandomId/members/$founderUid').get()).data();
|
||||
|
||||
final axes = _map(fandom, 'fpiAxes');
|
||||
final ranks = _map(fandom, 'fpiRanks');
|
||||
@@ -199,6 +205,8 @@ class FirestorePlanetRepository implements PlanetRepository {
|
||||
_ => null,
|
||||
};
|
||||
return PlanetDetail(
|
||||
isOwner: founderUid.isNotEmpty && founderUid == uid,
|
||||
ownerName: founder == null ? null : publicName(founder['nickname']),
|
||||
joined: memberSnap.exists,
|
||||
stage: stage,
|
||||
fandomId: fandomId,
|
||||
@@ -325,6 +333,8 @@ class FirestorePlanetRepository implements PlanetRepository {
|
||||
// 순위 동향 = 직전 순위 − 현재 순위. 둘 다 서버가 적은 값이다.
|
||||
change: _map(data, 'fpiRanksPrev').intOr(axis, rank) - rank,
|
||||
isMine: id == fandomId,
|
||||
planetType: data['planetType'] is String ? data['planetType'] as String : null,
|
||||
colorKey: data['colorKey'] is String ? data['colorKey'] as String : null,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -335,7 +345,11 @@ class FirestorePlanetRepository implements PlanetRepository {
|
||||
required String fandomId,
|
||||
int limit = 30,
|
||||
}) async {
|
||||
final ranking = await _userRanking(metric: metric, fandomId: fandomId, limit: limit);
|
||||
final ranking = await _userRanking(
|
||||
metric: metric,
|
||||
fandomId: fandomId,
|
||||
limit: limit,
|
||||
);
|
||||
final fandom = (await _backend.db.doc('fandoms/$fandomId').get()).data();
|
||||
return ranking.withUpdate(_time(fandom?['memberRankedAt']), 5);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user