@@ -7,40 +7,35 @@ import 'package:greenap/views/mypage/mypage_screen.dart' as mypage;
77import 'package:greenap/views/verification/verification_screen.dart'
88 as verification;
99import 'package:greenap/widgets/app_bar/custom_bottom_navigation_bar.dart' ;
10+ import 'package:get/get.dart' ;
11+ import 'package:greenap/views_model/root_view_model.dart' ;
1012
11- class RootScreen extends StatefulWidget {
13+ class RootScreen extends GetView < RootViewModel > {
1214 const RootScreen ({super .key});
13-
14- @override
15- State <RootScreen > createState () => _RootScreenState ();
16- }
17-
18- class _RootScreenState extends State <RootScreen > {
19- int _selectedIndex = 2 ; // 기본값: 홈
20-
21- final List <Widget > _pages = [
22- challenge.ChallengeScreen (),
23- feed.FeedScreen (),
24- home.HomeScreen (),
25- verification.VerificationScreen (),
26- mypage.MypageScreen (),
27- ];
28-
29- void _onTap (int index) {
30- setState (() {
31- _selectedIndex = index;
32- });
33- }
34-
3515 @override
3616 Widget build (BuildContext context) {
17+ final List <Widget > pages = [
18+ challenge.ChallengeScreen (),
19+ feed.FeedScreen (),
20+ home.HomeScreen (),
21+ verification.VerificationScreen (),
22+ mypage.MypageScreen (),
23+ ];
24+
3725 return SafeArea (
3826 child: Scaffold (
3927 backgroundColor: ColorSystem .white,
40- body: IndexedStack (index: _selectedIndex, children: _pages),
41- bottomNavigationBar: CustomBottomNavigationBar (
42- currentIndex: _selectedIndex,
43- onTap: _onTap,
28+ body: Obx (
29+ () => IndexedStack (
30+ index: controller.selectedIndex.value,
31+ children: pages,
32+ ),
33+ ),
34+ bottomNavigationBar: Obx (
35+ () => CustomBottomNavigationBar (
36+ currentIndex: controller.selectedIndex.value,
37+ onTap: controller.changeIndex,
38+ ),
4439 ),
4540 ),
4641 );
0 commit comments