import {View} from 'react-native' import {type AppBskyUnspeccedDefs} from '@atproto/api' import {Trans} from '@lingui/macro' import {logger} from '#/logger' import {isWeb} from '#/platform/detection' import { DEFAULT_LIMIT as RECOMMENDATIONS_COUNT, useTrendingTopics, } from '#/state/queries/trending/useTrendingTopics' import {useTrendingConfig} from '#/state/trending-config' import {atoms as a, useGutters, useTheme} from '#/alf' import {Hashtag_Stroke2_Corner0_Rounded} from '#/components/icons/Hashtag' import { TrendingTopic, TrendingTopicLink, TrendingTopicSkeleton, } from '#/components/TrendingTopics' import {Text} from '#/components/Typography' // Note: This module is not currently used and may be removed in the future. export function ExploreRecommendations() { const {enabled} = useTrendingConfig() return enabled ? : null } function Inner() { const t = useTheme() const gutters = useGutters([0, 'compact']) const {data: trending, error, isLoading} = useTrendingTopics() const noRecs = !isLoading && !error && !trending?.suggested?.length const allFeeds = trending?.suggested && isAllFeeds(trending.suggested) return error || noRecs ? null : ( <> Recommended {!allFeeds ? ( Content from across the network we think you might like. ) : ( Feeds we think you might like. )} {isLoading ? ( Array(RECOMMENDATIONS_COUNT) .fill(0) .map((_, i) => ) ) : !trending?.suggested ? null : ( <> {trending.suggested.map(topic => ( { logger.metric( 'recommendedTopic:click', {context: 'explore'}, {statsig: true}, ) }}> {({hovered}) => ( )} ))} )} ) } function isAllFeeds(topics: AppBskyUnspeccedDefs.TrendingTopic[]) { return topics.every(topic => { const segments = topic.link.split('/').slice(1) return segments[0] === 'profile' && segments[2] === 'feed' }) }