Compare commits

...

2 Commits

Author SHA1 Message Date
Eric Bailey 137b974faa Remove unused prop 2025-04-03 15:55:46 -05:00
Eric Bailey 8603a35aea Remove 'All' category and default to top interest 2025-04-03 12:17:39 -05:00
2 changed files with 16 additions and 34 deletions
+8 -29
View File
@@ -17,7 +17,6 @@ import {useModerationOpts} from '#/state/preferences/moderation-opts'
import {useActorSearchPaginated} from '#/state/queries/actor-search'
import {useGetPopularFeedsQuery} from '#/state/queries/feed'
import {usePreferencesQuery} from '#/state/queries/preferences'
import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows'
import {useGetSuggestedFeedsQuery} from '#/state/queries/trending/useGetSuggestedFeedsQuery'
import {useSuggestedStarterPacksQuery} from '#/state/queries/useSuggestedStarterPacksQuery'
import {useProgressGuide} from '#/state/shell/progress-guide'
@@ -195,14 +194,6 @@ export function Explore({
const gate = useGate()
const guide = useProgressGuide('follow-10')
const [selectedInterest, setSelectedInterest] = useState<string | null>(null)
const {
data: suggestedProfiles,
hasNextPage: hasNextSuggestedProfilesPage,
isLoading: isLoadingSuggestedProfiles,
isFetchingNextPage: isFetchingNextSuggestedProfilesPage,
error: suggestedProfilesError,
fetchNextPage: fetchNextSuggestedProfilesPage,
} = useSuggestedFollowsQuery({limit: 3, subsequentPageLimit: 10})
const {
data: interestProfiles,
hasNextPage: hasNextInterestProfilesPage,
@@ -213,7 +204,7 @@ export function Explore({
} = useActorSearchPaginated({
query: selectedInterest || '',
enabled: !!selectedInterest,
limit: 10,
limit: 8,
})
const {isReady: canShowSuggestedProfiles} = useLoadEnoughProfiles({
interest: selectedInterest,
@@ -232,23 +223,12 @@ export function Explore({
fetchNextPage: fetchNextFeedsPage,
} = useGetPopularFeedsQuery({limit: 10})
const profiles: typeof suggestedProfiles & typeof interestProfiles =
!selectedInterest ? suggestedProfiles : interestProfiles
const hasNextProfilesPage = !selectedInterest
? hasNextSuggestedProfilesPage
: hasNextInterestProfilesPage
const isLoadingProfiles = !selectedInterest
? isLoadingSuggestedProfiles
: !canShowSuggestedProfiles
const isFetchingNextProfilesPage = !selectedInterest
? isFetchingNextSuggestedProfilesPage
: !canShowSuggestedProfiles
const profilesError = !selectedInterest
? suggestedProfilesError
: interestProfilesError
const fetchNextProfilesPage = !selectedInterest
? fetchNextSuggestedProfilesPage
: fetchNextInterestProfilesPage
const profiles: typeof interestProfiles = interestProfiles
const hasNextProfilesPage = hasNextInterestProfilesPage
const isLoadingProfiles = !canShowSuggestedProfiles
const isFetchingNextProfilesPage = !canShowSuggestedProfiles
const profilesError = interestProfilesError
const fetchNextProfilesPage = fetchNextInterestProfilesPage
const isLoadingMoreProfiles = isFetchingNextProfilesPage && !isLoadingProfiles
const onLoadMoreProfiles = useCallback(async () => {
@@ -384,7 +364,6 @@ export function Explore({
type: 'profile',
key: actor.did,
profile: actor,
recId: page.recId,
})
}
}
@@ -709,7 +688,7 @@ export function Explore({
case 'profilePlaceholder': {
return (
<>
{Array.from({length: 3}).map((_, index) => (
{Array.from({length: 6}).map((_, index) => (
<View
style={[
a.px_lg,
@@ -61,29 +61,32 @@ export function SuggestedAccountsTabBar({
selectedInterest: string | null
onSelectInterest: (interest: string | null) => void
}) {
const {_} = useLingui()
const interestsDisplayNames = useInterestsDisplayNames()
const {data: preferences} = usePreferencesQuery()
const personalizedInterests = preferences?.interests?.tags
const interests = Object.keys(interestsDisplayNames)
.sort(boostInterests(popularInterests))
.sort(boostInterests(personalizedInterests))
useEffect(() => {
if (preferences && !selectedInterest) {
onSelectInterest(interests[0])
}
}, [selectedInterest, preferences, interests, onSelectInterest])
return (
<BlockDrawerGesture>
<Tabs
interests={['all', ...interests]}
selectedInterest={selectedInterest || 'all'}
interests={interests}
selectedInterest={selectedInterest || interests[0]}
onSelectTab={tab => {
logger.metric(
'explore:suggestedAccounts:tabPressed',
{tab: tab},
{statsig: true},
)
onSelectInterest(tab === 'all' ? null : tab)
onSelectInterest(tab)
}}
hasSearchText={false}
interestsDisplayNames={{
all: _(msg`All`),
...interestsDisplayNames,
}}
TabComponent={Tab}