@@ -89,7 +89,7 @@ class MapViewModel @Inject constructor(
8989 MapIntent .ClickInfoIcon -> reduce { copy(isShowInfoTooltip = true ) }
9090 MapIntent .DismissInfoTooltip -> reduce { copy(isShowInfoTooltip = false ) }
9191 MapIntent .ClickToMapChip -> reduce { copy(dragLevel = DragLevel .FIRST ) }
92- is MapIntent .ClickVerticalBrand -> handleClickBrand(intent.brand, reduce)
92+ is MapIntent .ClickVerticalBrand -> handleClickBrand(intent.brand, state, reduce)
9393 is MapIntent .ClickNearPhotoBooth -> handleClickNearPhotoBooth(intent.photoBooth, reduce, postSideEffect)
9494 MapIntent .ClickClosePhotoBoothCard -> reduce {
9595 copy(
@@ -191,24 +191,25 @@ class MapViewModel @Inject constructor(
191191
192192 private fun handleClickBrand (
193193 clickedBrand : Brand ,
194+ state : MapState ,
194195 reduce : (MapState .() -> MapState ) -> Unit ,
195196 ) {
196- reduce {
197- val updatedBrands = brands.map { brand ->
198- if (brand == clickedBrand) {
199- brand.copy(isChecked = ! brand.isChecked)
200- } else {
201- brand
202- }
197+ val updatedBrands = state.brands.map { brand ->
198+ if (brand == clickedBrand) {
199+ brand.copy(isChecked = ! brand.isChecked)
200+ } else {
201+ brand
203202 }
203+ }
204+ analyticsLogger.log(
205+ MapAnalyticsEvent .MapBrandFilterToggle (
206+ action = if (clickedBrand.isChecked) " deselect" else " select" ,
207+ selectedCount = updatedBrands.count { it.isChecked },
208+ brandName = clickedBrand.name,
209+ ),
210+ )
211+ reduce {
204212 val checkedBrandNames = updatedBrands.filter { it.isChecked }.map { it.name }
205- analyticsLogger.log(
206- MapAnalyticsEvent .MapBrandFilterToggle (
207- action = if (clickedBrand.isChecked) " deselect" else " select" ,
208- selectedCount = updatedBrands.count { it.isChecked },
209- brandName = clickedBrand.name,
210- ),
211- )
212213 copy(
213214 brands = updatedBrands.toImmutableList(),
214215 mapMarkers = mapMarkers.map { photoBooth ->
0 commit comments