끝난 이클립스 합류 문구 · HOME 헤더 POP · 다국어 HOME 레이아웃 · 캠페인 표시 수정
This commit is contained in:
@@ -509,6 +509,7 @@ class _Map extends StatelessWidget {
|
||||
child: _LiveFlash(
|
||||
repository: eclipseRepository,
|
||||
fandomId: eclipse?.fandomId ?? data.mine?.id,
|
||||
eclipse: eclipse,
|
||||
fallback: data.event,
|
||||
),
|
||||
),
|
||||
@@ -1050,12 +1051,16 @@ class _LiveFlash extends StatelessWidget {
|
||||
const _LiveFlash({
|
||||
required this.repository,
|
||||
required this.fandomId,
|
||||
required this.eclipse,
|
||||
required this.fallback,
|
||||
});
|
||||
|
||||
final EclipseRepository repository;
|
||||
final String? fandomId;
|
||||
|
||||
/// 진행 중인 회차. 끝난 회차의 방어 합류는 흘리지 않는다([liveEventsFor]).
|
||||
final EclipseState? eclipse;
|
||||
|
||||
/// 라이브 이벤트가 없을 때 그릴 기존 `galaxyEvents` 한 건.
|
||||
final GalaxyEvent? fallback;
|
||||
|
||||
@@ -1073,8 +1078,9 @@ class _LiveFlash extends StatelessWidget {
|
||||
return LiveStreamBuilder<List<LiveEvent>>(
|
||||
key: ValueKey('flash-$fandomId'),
|
||||
create: () => repository.liveEvents(fandomId: fandomId, limit: 5),
|
||||
builder: (context, events) {
|
||||
if (events == null || events.isEmpty) {
|
||||
builder: (context, all) {
|
||||
final events = liveEventsFor(all ?? const [], eclipse, DateTime.now());
|
||||
if (events.isEmpty) {
|
||||
return fallback == null
|
||||
? const SizedBox.shrink()
|
||||
: _EventTicker(
|
||||
|
||||
@@ -20,8 +20,13 @@ class ZapFeedback extends StatefulWidget {
|
||||
required this.radius,
|
||||
this.fandomName,
|
||||
this.quest = false,
|
||||
this.messageAboveTarget = false,
|
||||
});
|
||||
|
||||
/// 안내 띠를 [target] 행성 상자 위쪽에 둔다(HOME). 기본 자리(아래 128)는 HOME 에서 행성 이름 ·
|
||||
/// 성장 카드 말풍선을 덮는다(10/8 r11). 행성 상자 반 변 = [radius] / 0.4(HOME 이 넘기는 값).
|
||||
final bool messageAboveTarget;
|
||||
|
||||
/// 퀘스트 보상 확정의 행성 반응인가 — 결과 문구를 퀘스트 반영으로 바꾼다.
|
||||
final bool quest;
|
||||
|
||||
@@ -101,7 +106,12 @@ class _ZapFeedbackState extends State<ZapFeedback>
|
||||
Positioned(
|
||||
left: 16,
|
||||
right: 16,
|
||||
bottom: 128,
|
||||
top: widget.messageAboveTarget && widget.target != Offset.zero
|
||||
? math.max(0, widget.target.dy - widget.radius / 0.4 / 2)
|
||||
: null,
|
||||
bottom: widget.messageAboveTarget && widget.target != Offset.zero
|
||||
? null
|
||||
: 128,
|
||||
child: Center(
|
||||
child: Semantics(
|
||||
liveRegion: true,
|
||||
|
||||
Reference in New Issue
Block a user