File tree 3 files changed +23
-6
lines changed
3 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -56,12 +56,12 @@ class Body extends StatelessWidget {
56
56
survey: surveys[index],
57
57
),
58
58
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) ),
65
65
)
66
66
: SlideItem .empty ();
67
67
},
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ class HomePresenterImpl extends HomePresenter
10
10
showDetailButtonDidTap.listen (_showDetailButtonDidTap).addTo (disposeBag);
11
11
didSwipeDown.voidListen (_didSwipeDown).addTo (disposeBag);
12
12
userAvatarDidTap.voidListen (_userAvatarDidTap).addTo (disposeBag);
13
+ currentPageDidChange.listen (_currentPageDidChange).addTo (disposeBag);
13
14
14
15
surveysDidFetchFromCached
15
16
.listen (_surveysDidFetchFromCached)
@@ -65,6 +66,9 @@ class HomePresenterImpl extends HomePresenter
65
66
@override
66
67
final authenticatedUserDidGet = BehaviorSubject <UserInfo >();
67
68
69
+ @override
70
+ final currentPageDidChange = BehaviorSubject <int >();
71
+
68
72
void _stateDidInit () {
69
73
interactor.fetchSurveysFromCached ();
70
74
interactor.getAuthenticatedUser ();
@@ -120,4 +124,8 @@ class HomePresenterImpl extends HomePresenter
120
124
void _userAvatarDidTap () {
121
125
view.showSideMenu ();
122
126
}
127
+
128
+ void _currentPageDidChange (int page) {
129
+ view.setCurrentPage (page);
130
+ }
123
131
}
Original file line number Diff line number Diff line change @@ -12,6 +12,8 @@ abstract class HomeViewDelegate implements AlertViewMixinDelegate {
12
12
BehaviorSubject <void > get sideMenuDidShow;
13
13
14
14
BehaviorSubject <void > get sideMenuDidDismiss;
15
+
16
+ BehaviorSubject <int > get currentPageDidChange;
15
17
}
16
18
17
19
abstract class HomeView extends View <HomeViewDelegate >
@@ -44,6 +46,8 @@ abstract class HomeView extends View<HomeViewDelegate>
44
46
void showSideMenu ();
45
47
46
48
void setUserInteractionEnable ({required bool isEnabled});
49
+
50
+ void setCurrentPage (int page);
47
51
}
48
52
49
53
class HomeViewImpl extends StatefulWidget {
@@ -130,4 +134,9 @@ class _HomeViewImplState
130
134
void setUserInteractionEnable ({required bool isEnabled}) {
131
135
_isUserInteractionEnabled.add (isEnabled);
132
136
}
137
+
138
+ @override
139
+ void setCurrentPage (int page) {
140
+ _currentPage.add (page);
141
+ }
133
142
}
You can’t perform that action at this time.
0 commit comments