58 lines
1.6 KiB
Dart
58 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'home_data.dart';
|
|
import 'home_screen.dart' show HomeHeader;
|
|
import 'widgets/home_hero.dart';
|
|
|
|
/// 초기 사용자 홈 — Figma 사본 「홈_초기사용자」(`343:212939`).
|
|
///
|
|
/// 사본에서는 **HOME 탭의 무소속 상태**다. HOME 은 소속 팬덤이 없으면(`fandomId` 가
|
|
/// 비면) 같은 [HomeHero] 첫 사용자 모드를 그리고, 이 화면은 그 상태를 직접 띄운다.
|
|
/// 「+」 를 누르면 「행성 생성 (성운) / 행성 가입 / 취소」 시트가 뜬다.
|
|
class HomeOnboardingScreen extends StatelessWidget {
|
|
const HomeOnboardingScreen({
|
|
super.key,
|
|
this.pop = 12540,
|
|
this.nickname = 'BTS_Hong',
|
|
this.onCreateNebula,
|
|
this.onJoin,
|
|
});
|
|
|
|
/// 헤더의 내 활동 POP.
|
|
final int pop;
|
|
|
|
/// 헤더 아래 「{닉네임} 님의」.
|
|
final String nickname;
|
|
final VoidCallback? onCreateNebula;
|
|
final VoidCallback? onJoin;
|
|
|
|
@override
|
|
Widget build(BuildContext context) => Scaffold(
|
|
body: SingleChildScrollView(
|
|
child: Stack(
|
|
children: [
|
|
HomeHero(
|
|
growth: PlanetGrowth(
|
|
fandomName: '',
|
|
contributorName: nickname,
|
|
contributedPop: 0,
|
|
growthPercent: null,
|
|
currentPop: null,
|
|
requiredPop: null,
|
|
),
|
|
unjoined: true,
|
|
onCreateNebula: onCreateNebula,
|
|
onJoin: onJoin,
|
|
),
|
|
Positioned(
|
|
top: MediaQuery.paddingOf(context).top,
|
|
left: 0,
|
|
right: 0,
|
|
child: HomeHeader(pop: pop),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|