@@ -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