Bluesky app fork with some witchin' additions 💫

Explore feed cards (#4521)

* Replace FeedSourceCard on Explore page

(cherry picked from commit e7e9787bfaa9368bfaeaaa4ca144ab77b438219c)

* Replace FeedSourceCard on Search page

(cherry picked from commit ac47aade7622d359eee9509763cda666d964d8a3)

authored by

Eric Bailey and committed by
GitHub
077da083 7e88d0d7

+22 -23
+10 -13
src/view/screens/Search/Explore.tsx
··· 16 16 import {useGetPopularFeedsQuery} from '#/state/queries/feed' 17 17 import {usePreferencesQuery} from '#/state/queries/preferences' 18 18 import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows' 19 - import {useSession} from '#/state/session' 20 19 import {cleanError} from 'lib/strings/errors' 21 20 import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard' 22 21 import {List} from '#/view/com/util/List' 23 22 import {UserAvatar} from '#/view/com/util/UserAvatar' 24 - import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard' 25 23 import { 26 24 FeedFeedLoadingPlaceholder, 27 25 ProfileCardFeedLoadingPlaceholder, 28 26 } from 'view/com/util/LoadingPlaceholder' 29 27 import {atoms as a, useTheme, ViewStyleProp} from '#/alf' 30 28 import {Button} from '#/components/Button' 29 + import * as FeedCard from '#/components/FeedCard' 31 30 import {ArrowBottom_Stroke2_Corner0_Rounded as ArrowBottom} from '#/components/icons/Arrow' 32 31 import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo' 33 32 import {Props as SVGIconProps} from '#/components/icons/common' ··· 271 270 export function Explore() { 272 271 const {_} = useLingui() 273 272 const t = useTheme() 274 - const {hasSession} = useSession() 275 273 const {data: preferences, error: preferencesError} = usePreferencesQuery() 276 274 const moderationOpts = useModerationOpts() 277 275 const { ··· 480 478 } 481 479 case 'feed': { 482 480 return ( 483 - <View style={[a.border_b, t.atoms.border_contrast_low]}> 484 - <FeedSourceCard 485 - feedUri={item.feed.uri} 486 - showSaveBtn={hasSession} 487 - showDescription 488 - showLikes 489 - pinOnSave 490 - hideTopBorder 491 - /> 481 + <View 482 + style={[ 483 + a.border_b, 484 + t.atoms.border_contrast_low, 485 + a.px_lg, 486 + a.py_lg, 487 + ]}> 488 + <FeedCard.Default feed={item.feed} /> 492 489 </View> 493 490 ) 494 491 } ··· 538 535 } 539 536 } 540 537 }, 541 - [t, hasSession, moderationOpts], 538 + [t, moderationOpts], 542 539 ) 543 540 544 541 return (
+12 -10
src/view/screens/Search/Search.tsx
··· 57 57 import {CenteredView, ScrollView} from '#/view/com/util/Views' 58 58 import {Explore} from '#/view/screens/Search/Explore' 59 59 import {SearchLinkCard, SearchProfileCard} from '#/view/shell/desktop/Search' 60 - import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard' 61 - import {atoms as a} from '#/alf' 60 + import {atoms as a, useTheme as useThemeNew} from '#/alf' 61 + import * as FeedCard from '#/components/FeedCard' 62 62 import {Menu_Stroke2_Corner0_Rounded as Menu} from '#/components/icons/Menu' 63 63 64 64 function Loader() { ··· 285 285 query: string 286 286 active: boolean 287 287 }): React.ReactNode => { 288 + const t = useThemeNew() 288 289 const {_} = useLingui() 289 - const {hasSession} = useSession() 290 290 291 291 const {data: results, isFetched} = usePopularFeedsSearch({ 292 292 query, ··· 299 299 <List 300 300 data={results} 301 301 renderItem={({item}) => ( 302 - <FeedSourceCard 303 - feedUri={item.uri} 304 - showSaveBtn={hasSession} 305 - showDescription 306 - showLikes 307 - pinOnSave 308 - /> 302 + <View 303 + style={[ 304 + a.border_b, 305 + t.atoms.border_contrast_low, 306 + a.px_lg, 307 + a.py_lg, 308 + ]}> 309 + <FeedCard.Default feed={item} /> 310 + </View> 309 311 )} 310 312 keyExtractor={item => item.uri} 311 313 // @ts-ignore web only -prf