Skip to content

Commit 138b5fe

Browse files
committed
feat: create ui for side menu screen (#62)
- Update current page thru Presenter
1 parent 805dac6 commit 138b5fe

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

lib/modules/home/components/body.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ class Body extends StatelessWidget {
5656
survey: surveys[index],
5757
),
5858
options: CarouselOptions(
59-
viewportFraction: 1,
60-
initialPage: state._currentPage.value,
61-
height: double.infinity,
62-
onPageChanged: (index, _) =>
63-
state._currentPage.add(index),
64-
),
59+
viewportFraction: 1,
60+
initialPage: state._currentPage.value,
61+
height: double.infinity,
62+
onPageChanged: (index, _) => state
63+
.delegate?.currentPageDidChange
64+
.add(index)),
6565
)
6666
: SlideItem.empty();
6767
},

lib/modules/home/home_presenter.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class HomePresenterImpl extends HomePresenter
1010
showDetailButtonDidTap.listen(_showDetailButtonDidTap).addTo(disposeBag);
1111
didSwipeDown.voidListen(_didSwipeDown).addTo(disposeBag);
1212
userAvatarDidTap.voidListen(_userAvatarDidTap).addTo(disposeBag);
13+
currentPageDidChange.listen(_currentPageDidChange).addTo(disposeBag);
1314

1415
surveysDidFetchFromCached
1516
.listen(_surveysDidFetchFromCached)
@@ -65,6 +66,9 @@ class HomePresenterImpl extends HomePresenter
6566
@override
6667
final authenticatedUserDidGet = BehaviorSubject<UserInfo>();
6768

69+
@override
70+
final currentPageDidChange = BehaviorSubject<int>();
71+
6872
void _stateDidInit() {
6973
interactor.fetchSurveysFromCached();
7074
interactor.getAuthenticatedUser();
@@ -120,4 +124,8 @@ class HomePresenterImpl extends HomePresenter
120124
void _userAvatarDidTap() {
121125
view.showSideMenu();
122126
}
127+
128+
void _currentPageDidChange(int page) {
129+
view.setCurrentPage(page);
130+
}
123131
}

lib/modules/home/home_view.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ abstract class HomeViewDelegate implements AlertViewMixinDelegate {
1212
BehaviorSubject<void> get sideMenuDidShow;
1313

1414
BehaviorSubject<void> get sideMenuDidDismiss;
15+
16+
BehaviorSubject<int> get currentPageDidChange;
1517
}
1618

1719
abstract class HomeView extends View<HomeViewDelegate>
@@ -44,6 +46,8 @@ abstract class HomeView extends View<HomeViewDelegate>
4446
void showSideMenu();
4547

4648
void setUserInteractionEnable({required bool isEnabled});
49+
50+
void setCurrentPage(int page);
4751
}
4852

4953
class HomeViewImpl extends StatefulWidget {
@@ -130,4 +134,9 @@ class _HomeViewImplState
130134
void setUserInteractionEnable({required bool isEnabled}) {
131135
_isUserInteractionEnabled.add(isEnabled);
132136
}
137+
138+
@override
139+
void setCurrentPage(int page) {
140+
_currentPage.add(page);
141+
}
133142
}

0 commit comments

Comments
 (0)