From 8412e2ac60212a5eb9dc7cceaa993934cca0f1c1 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Wed, 24 Jul 2024 10:47:40 -0500 Subject: [PATCH] Let's go a different route --- src/components/FeedCard.tsx | 2 -- src/view/screens/Feeds.tsx | 63 ++++++++++--------------------------- 2 files changed, 16 insertions(+), 49 deletions(-) diff --git a/src/components/FeedCard.tsx b/src/components/FeedCard.tsx index 4d9d9a3d3a..82d675a8e4 100644 --- a/src/components/FeedCard.tsx +++ b/src/components/FeedCard.tsx @@ -5,7 +5,6 @@ import { AppBskyFeedDefs, AppBskyGraphDefs, AtUri, - ModerationDecision, RichText as RichTextApi, } from '@atproto/api' import {msg, plural, Trans} from '@lingui/macro' @@ -36,7 +35,6 @@ import {Text} from '#/components/Typography' type Props = { view: AppBskyFeedDefs.GeneratorView - moderation?: ModerationDecision } export function Default(props: Props) { diff --git a/src/view/screens/Feeds.tsx b/src/view/screens/Feeds.tsx index 23091a3f55..5a2d71087c 100644 --- a/src/view/screens/Feeds.tsx +++ b/src/view/screens/Feeds.tsx @@ -1,10 +1,6 @@ import React from 'react' import {ActivityIndicator, type FlatList, StyleSheet, View} from 'react-native' -import { - AppBskyFeedDefs, - moderateFeedGenerator, - ModerationDecision, -} from '@atproto/api' +import {AppBskyFeedDefs} from '@atproto/api' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useFocusEffect} from '@react-navigation/native' @@ -42,7 +38,6 @@ import {FilterTimeline_Stroke2_Corner0_Rounded as FilterTimeline} from '#/compon import {ListMagnifyingGlass_Stroke2_Corner0_Rounded} from '#/components/icons/ListMagnifyingGlass' import {ListSparkle_Stroke2_Corner0_Rounded} from '#/components/icons/ListSparkle' import hairlineWidth = StyleSheet.hairlineWidth -import {useModerationOpts} from '#/state/preferences/moderation-opts' import {Divider} from '#/components/Divider' import * as FeedCard from '#/components/FeedCard' import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron' @@ -94,7 +89,6 @@ type FlatlistSlice = key: string feedUri: string feed: AppBskyFeedDefs.GeneratorView - moderation: ModerationDecision } | { type: 'popularFeedsLoadingMore' @@ -107,7 +101,6 @@ type FlatlistSlice = export function FeedsScreen(_props: Props) { const pal = usePalette('default') - const moderationOpts = useModerationOpts() const {openComposer} = useComposerControls() const {isMobile, isTabletOrDesktop} = useWebMediaQueries() const [query, setQuery] = React.useState('') @@ -307,7 +300,7 @@ export function FeedsScreen(_props: Props) { }) } else { if (isUserSearching) { - if (isSearchPending || !searchResults || !moderationOpts) { + if (isSearchPending || !searchResults) { slices.push({ key: 'popularFeedsLoading', type: 'popularFeedsLoading', @@ -320,30 +313,17 @@ export function FeedsScreen(_props: Props) { }) } else { slices = slices.concat( - searchResults - .map(feed => { - const moderation = moderateFeedGenerator( - feed, - moderationOpts, - ) - const slice: FlatlistSlice = { - key: `popularFeed:${feed.uri}`, - type: 'popularFeed', - feedUri: feed.uri, - feed, - moderation, - } - return slice - }) - .filter(i => !i.moderation.ui('contentList').filter), + searchResults.map(feed => ({ + key: `popularFeed:${feed.uri}`, + type: 'popularFeed', + feedUri: feed.uri, + feed, + })), ) } } } else { - if ( - (isPopularFeedsFetching && !popularFeeds?.pages) || - !moderationOpts - ) { + if (isPopularFeedsFetching && !popularFeeds?.pages) { slices.push({ key: 'popularFeedsLoading', type: 'popularFeedsLoading', @@ -357,22 +337,12 @@ export function FeedsScreen(_props: Props) { } else { for (const page of popularFeeds.pages || []) { slices = slices.concat( - page.feeds - .map(feed => { - const moderation = moderateFeedGenerator( - feed, - moderationOpts, - ) - const slice: FlatlistSlice = { - key: `popularFeed:${feed.uri}`, - type: 'popularFeed', - feedUri: feed.uri, - feed, - moderation, - } - return slice - }) - .filter(i => !i.moderation.ui('contentList').filter), + page.feeds.map(feed => ({ + key: `popularFeed:${feed.uri}`, + type: 'popularFeed', + feedUri: feed.uri, + feed, + })), ) } @@ -402,7 +372,6 @@ export function FeedsScreen(_props: Props) { isSearchPending, searchError, isUserSearching, - moderationOpts, ]) const renderHeaderBtn = React.useCallback(() => { @@ -527,7 +496,7 @@ export function FeedsScreen(_props: Props) { } else if (item.type === 'popularFeed') { return ( - + )