@@ -18,21 +18,20 @@ import com.xpeho.xpeapp.R
1818import com.xpeho.xpeapp.XpeApp
1919import com.xpeho.xpeapp.data.FeatureFlippingEnum
2020import com.xpeho.xpeapp.data.entity.QvstCampaignEntity
21- import com.xpeho.xpeapp.data.model.agenda.AgendaBirthday
22- import com.xpeho.xpeapp.data.model.agenda.AgendaEvent
23- import com.xpeho.xpeapp.data.model.agenda.AgendaEventType
2421import com.xpeho.xpeapp.domain.FeatureFlippingState
2522import com.xpeho.xpeapp.ui.components.CustomDialog
23+ import com.xpeho.xpeapp.ui.components.agenda.AgendaBirthdayItem
2624import com.xpeho.xpeapp.ui.components.agenda.AgendaCardList
25+ import com.xpeho.xpeapp.ui.components.agenda.AgendaEventItem
2726import com.xpeho.xpeapp.ui.components.layout.NoContentPlaceHolder
2827import com.xpeho.xpeapp.ui.components.layout.Title
2928import com.xpeho.xpeapp.ui.components.newsletter.NewsletterPreview
3029import com.xpeho.xpeapp.ui.components.qvst.QvstCardList
3130import com.xpeho.xpeapp.ui.sendAnalyticsEvent
31+ import com.xpeho.xpeapp.ui.uiState.AgendaUiState
3232import com.xpeho.xpeapp.ui.uiState.QvstActiveUiState
3333import com.xpeho.xpeapp.ui.viewModel.FeatureFlippingViewModel
3434import com.xpeho.xpeapp.ui.viewModel.agenda.AgendaViewModel
35- import com.xpeho.xpeapp.ui.viewModel.agenda.AgendaViewModelState
3635import com.xpeho.xpeapp.ui.viewModel.newsletter.NewsletterViewModel
3736import com.xpeho.xpeapp.ui.viewModel.qvst.QvstActiveCampaignsViewModel
3837import com.xpeho.xpeapp.ui.viewModel.viewModelFactory
@@ -161,29 +160,27 @@ fun HomePage(navigationController: NavController) {
161160 when (agendaViewModel.state) {
162161
163162 // If we successfully loaded the events
164- is AgendaViewModelState .SUCCESS -> {
163+ is AgendaUiState .SUCCESS -> {
165164 item {
166- val events: List <AgendaEvent > =
167- (agendaViewModel.state as AgendaViewModelState .SUCCESS ).agendaEvent
168- val eventsTypes: List <AgendaEventType > =
169- (agendaViewModel.state as AgendaViewModelState .SUCCESS ).agendaEventType
170- val birthdays: List <AgendaBirthday > =
171- (agendaViewModel.state as AgendaViewModelState .SUCCESS ).agendaBirthday
165+ val state = agendaViewModel.state as AgendaUiState .SUCCESS
166+ val events = state.agendaEvent.map { AgendaEventItem (it) }
167+ val birthdays = state.agendaBirthday.map { AgendaBirthdayItem (it) }
168+ val items = (events + birthdays).sortedBy { it.date }
169+ val eventsTypes = state.agendaEventType
172170 AgendaCardList (
173- events = events ,
171+ items = items ,
174172 eventsTypes = eventsTypes,
175- birthdays = birthdays,
176173 collapsable = false
177174 )
178175 }
179176 }
180177
181178 // If there was an error loading the events
182- is AgendaViewModelState .ERROR -> {
179+ is AgendaUiState .ERROR -> {
183180 item {
184181 CustomDialog (
185182 title = stringResource(id = R .string.login_page_error_title),
186- message = (agendaViewModel.state as AgendaViewModelState .ERROR ).error,
183+ message = (agendaViewModel.state as AgendaUiState .ERROR ).error,
187184 ) {
188185 agendaViewModel.resetState()
189186 }
0 commit comments