Skip to content

Commit 1f210fb

Browse files
authored
MBL-2648: Projects we love needs to be shown when user logged out (#2388)
1 parent 819208d commit 1f210fb

File tree

4 files changed

+307
-85
lines changed

4 files changed

+307
-85
lines changed

app/src/main/java/com/kickstarter/ui/activities/compose/search/FilterMenuSheet.kt

Lines changed: 71 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ fun FilterMenuSheet(
108108
) {
109109
val viewModel = LocalFilterMenuViewModel.current
110110
val loggedInUser by viewModel.loggedInUser.collectAsStateWithLifecycle()
111-
val filteredFilters = if (loggedInUser) availableFilters else availableFilters.filter { it != FilterType.OTHERS }
112111

113112
val projStatus = remember { mutableStateOf(selectedProjectStatus) }
114113

@@ -127,7 +126,7 @@ fun FilterMenuSheet(
127126
)
128127

129128
LazyColumn(modifier = Modifier.weight(1f).testTag(FilterMenuTestTags.LIST)) {
130-
items(filteredFilters) { filter ->
129+
items(availableFilters) { filter ->
131130
when (filter) {
132131
FilterType.CATEGORIES -> FilterRow(
133132
text = titleForFilter(filter),
@@ -171,6 +170,7 @@ fun FilterMenuSheet(
171170
selectedRecommended = selectedRecommended,
172171
selectedStarred = selectedSaved,
173172
selectedSocial = selectedSocial,
173+
isUserloggedIn = loggedInUser,
174174
callbackRecommended = { recommended ->
175175
selectedRecommended.value = recommended
176176
onApply(projStatus.value, selectedRecommended.value, selectedProjectsLoved.value, selectedSaved.value, selectedSocial.value, null)
@@ -231,6 +231,7 @@ private fun OtherFiltersRow(
231231
callbackSocial: (Boolean) -> Unit = {},
232232
selectedRecommended: MutableState<Boolean> = mutableStateOf(false),
233233
callbackRecommended: (Boolean) -> Unit = {},
234+
isUserloggedIn: Boolean,
234235
) {
235236
val backgroundDisabledColor = colors.backgroundDisabled
236237
val dimensions: KSDimensions = KSTheme.dimensions
@@ -262,28 +263,30 @@ private fun OtherFiltersRow(
262263
color = colors.textPrimary
263264
)
264265

265-
Row(
266-
modifier = Modifier.testTag(DiscoveryParams::recommended.name),
267-
verticalAlignment = Alignment.CenterVertically,
268-
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
269-
) {
270-
Text(
271-
modifier = Modifier
272-
.weight(1f),
273-
text = stringResource(R.string.Recommended),
274-
style = typographyV2.bodyMD,
275-
color = colors.textSecondary
276-
)
266+
if (isUserloggedIn) {
267+
Row(
268+
modifier = Modifier.testTag(DiscoveryParams::recommended.name),
269+
verticalAlignment = Alignment.CenterVertically,
270+
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
271+
) {
272+
Text(
273+
modifier = Modifier
274+
.weight(1f),
275+
text = stringResource(R.string.Recommended),
276+
style = typographyV2.bodyMD,
277+
color = colors.textSecondary
278+
)
277279

278-
KSSwitch(
279-
modifier = Modifier.testTag(switchTag(DiscoveryParams::recommended.name)),
280-
checked = selectedRecommended.value,
281-
onCheckChanged = {
282-
selectedRecommended.value = it
283-
if (it)
284-
callbackRecommended(it)
285-
}
286-
)
280+
KSSwitch(
281+
modifier = Modifier.testTag(switchTag(DiscoveryParams::recommended.name)),
282+
checked = selectedRecommended.value,
283+
onCheckChanged = {
284+
selectedRecommended.value = it
285+
if (it)
286+
callbackRecommended(it)
287+
}
288+
)
289+
}
287290
}
288291
Row(
289292
modifier = Modifier.testTag(DiscoveryParams::staffPicks.name),
@@ -307,49 +310,51 @@ private fun OtherFiltersRow(
307310
}
308311
)
309312
}
310-
Row(
311-
modifier = Modifier.testTag(DiscoveryParams::starred.name),
312-
verticalAlignment = Alignment.CenterVertically,
313-
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
314-
) {
315-
Text(
316-
modifier = Modifier
317-
.weight(1f),
318-
text = stringResource(R.string.Saved_projects),
319-
style = typographyV2.bodyMD,
320-
color = colors.textSecondary
321-
)
313+
if (isUserloggedIn) {
314+
Row(
315+
modifier = Modifier.testTag(DiscoveryParams::starred.name),
316+
verticalAlignment = Alignment.CenterVertically,
317+
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
318+
) {
319+
Text(
320+
modifier = Modifier
321+
.weight(1f),
322+
text = stringResource(R.string.Saved_projects),
323+
style = typographyV2.bodyMD,
324+
color = colors.textSecondary
325+
)
322326

323-
KSSwitch(
324-
modifier = Modifier.testTag(switchTag(DiscoveryParams::starred.name)),
325-
checked = selectedStarred.value,
326-
onCheckChanged = {
327-
selectedStarred.value = it
328-
callbackStarred(it)
329-
}
330-
)
331-
}
332-
Row(
333-
modifier = Modifier.testTag(DiscoveryParams::social.name),
334-
verticalAlignment = Alignment.CenterVertically,
335-
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
336-
) {
337-
Text(
338-
modifier = Modifier
339-
.weight(1f),
340-
text = stringResource(R.string.Following),
341-
style = typographyV2.bodyMD,
342-
color = colors.textSecondary
343-
)
327+
KSSwitch(
328+
modifier = Modifier.testTag(switchTag(DiscoveryParams::starred.name)),
329+
checked = selectedStarred.value,
330+
onCheckChanged = {
331+
selectedStarred.value = it
332+
callbackStarred(it)
333+
}
334+
)
335+
}
336+
Row(
337+
modifier = Modifier.testTag(DiscoveryParams::social.name),
338+
verticalAlignment = Alignment.CenterVertically,
339+
horizontalArrangement = Arrangement.spacedBy(dimensions.paddingSmall),
340+
) {
341+
Text(
342+
modifier = Modifier
343+
.weight(1f),
344+
text = stringResource(R.string.Following),
345+
style = typographyV2.bodyMD,
346+
color = colors.textSecondary
347+
)
344348

345-
KSSwitch(
346-
modifier = Modifier.testTag(switchTag(DiscoveryParams::social.name)),
347-
checked = selectedSocial.value.isTrue(),
348-
onCheckChanged = {
349-
selectedSocial.value = it
350-
callbackSocial(it)
351-
}
352-
)
349+
KSSwitch(
350+
modifier = Modifier.testTag(switchTag(DiscoveryParams::social.name)),
351+
checked = selectedSocial.value.isTrue(),
352+
onCheckChanged = {
353+
selectedSocial.value = it
354+
callbackSocial(it)
355+
}
356+
)
357+
}
353358
}
354359
}
355360
}
@@ -543,7 +548,8 @@ private fun OthersRowPreview() {
543548
KSTheme {
544549
OtherFiltersRow(
545550
modifier = Modifier.background(color = colors.backgroundSurfacePrimary),
546-
text = titleForFilter(FilterType.OTHERS)
551+
text = titleForFilter(FilterType.OTHERS),
552+
isUserloggedIn = true
547553
)
548554
}
549555
}

0 commit comments

Comments
 (0)