갤럭시 검색 결과에서 행성 상세로 이동

This commit is contained in:
Sn-Kinos
2026-10-05 17:39:23 +09:00
parent 54d0b23260
commit 8a1b824307
11 changed files with 394 additions and 171 deletions
@@ -77,7 +77,10 @@ class _GalaxyHomeScreenState extends State<GalaxyHomeScreen> {
if (!ok || !mounted) return;
try {
await widget.repository.setPrimary(p.id);
if (mounted) setState(() { _snapshot = widget.repository.load(); });
if (mounted)
setState(() {
_snapshot = widget.repository.load();
});
} on BackendException catch (e) {
// 30일 대기(E-FDM-04) 등 서버 사유를 그대로 알린다.
if (mounted) await showAlertDialog(context, e.message);
@@ -101,11 +104,14 @@ class _GalaxyHomeScreenState extends State<GalaxyHomeScreen> {
final myPop = (await _snapshot).myPop;
final fandomId = await navigator.push(
MaterialPageRoute<String>(
builder: (_) => NebulaCreateScreen(repository: widget.home, myPop: myPop),
builder: (_) =>
NebulaCreateScreen(repository: widget.home, myPop: myPop),
),
);
if (fandomId == null || !mounted) return;
setState(() { _snapshot = widget.repository.load(); });
setState(() {
_snapshot = widget.repository.load();
});
await navigator.push(
MaterialPageRoute<void>(
builder: (_) => PlanetDetailScreen(
@@ -182,6 +188,22 @@ class _GalaxyHomeScreenState extends State<GalaxyHomeScreen> {
MaterialPageRoute<void>(
builder: (_) => GalaxySearchScreen(
repository: widget.repository,
onOpen: (p) =>
Navigator.of(
context,
rootNavigator: true,
).push(
MaterialPageRoute<void>(
builder: (_) =>
PlanetDetailScreen(
repository: widget
.planetRepository(p.id),
watchPlanet:
widget.watchPlanet,
eclipse: widget.eclipse,
),
),
),
),
),
),
@@ -278,9 +300,7 @@ class _GalaxyHomeScreenState extends State<GalaxyHomeScreen> {
left: 0,
right: 0,
bottom: 16,
child: Center(
child: _NebulaPill(onTap: _createNebula),
),
child: Center(child: _NebulaPill(onTap: _createNebula)),
),
],
);