diff --git a/src/features/browse/sources/Sources.tsx b/src/features/browse/sources/Sources.tsx index 1e463cec..86c27a3f 100644 --- a/src/features/browse/sources/Sources.tsx +++ b/src/features/browse/sources/Sources.tsx @@ -49,7 +49,7 @@ export function Sources({ tabsMenuHeight }: { tabsMenuHeight: number }) { const filteredSources = useMemo( () => SourceService.filter(sources ?? [], { - showNsfw, + isNsfw: showNsfw ? undefined : true, languages: shownLangs, keepLocalSource: true, enabled: true, @@ -59,7 +59,7 @@ export function Sources({ tabsMenuHeight }: { tabsMenuHeight: number }) { const sourcesForLanguageFilter = useMemo( () => SourceService.filter(sources ?? [], { - showNsfw, + isNsfw: showNsfw ? undefined : true, removeLocalSource: true, }), [sources], diff --git a/src/features/global-search/screens/SearchAll.tsx b/src/features/global-search/screens/SearchAll.tsx index 628b45ba..1348b73d 100644 --- a/src/features/global-search/screens/SearchAll.tsx +++ b/src/features/global-search/screens/SearchAll.tsx @@ -259,7 +259,7 @@ export const SearchAll: React.FC = () => { const filteredSources = useMemo( () => Sources.filter(sources, { - showNsfw, + isNsfw: showNsfw ? undefined : false, languages: shownLangs, keepLocalSource: true, pinned: shouldShowOnlyPinnedSources, diff --git a/src/features/source/services/Sources.ts b/src/features/source/services/Sources.ts index 06063fa3..c7fac179 100644 --- a/src/features/source/services/Sources.ts +++ b/src/features/source/services/Sources.ts @@ -93,14 +93,14 @@ export class Sources { static filter( sources: Source[], { - showNsfw, + isNsfw, languages, keepLocalSource, pinned, enabled, removeLocalSource, }: { - showNsfw?: boolean; + isNsfw?: boolean; languages?: string[]; keepLocalSource?: boolean; pinned?: boolean; @@ -113,9 +113,8 @@ export class Sources { return sources .filter( (source) => - showNsfw === undefined || - showNsfw || - !source.isNsfw || + isNsfw === undefined || + source.isNsfw === isNsfw || (keepLocalSource && Sources.isLocalSource(source)), ) .filter( @@ -127,15 +126,13 @@ export class Sources { .filter( (source) => pinned === undefined || - !pinned || - getSourceMetadata(source).isPinned || + getSourceMetadata(source).isPinned === pinned || (keepLocalSource && Sources.isLocalSource(source)), ) .filter( (source) => enabled === undefined || - !enabled || - getSourceMetadata(source).isEnabled || + getSourceMetadata(source).isEnabled === enabled || (keepLocalSource && Sources.isLocalSource(source)), ) .filter((source) => !removeLocalSource || !Sources.isLocalSource(source));