import {useMemo} from 'react' import {View} from 'react-native' import {type AppBskyFeedDefs, AtUri} from '@atproto/api' import {PressableScale} from '#/lib/custom-animations/PressableScale' import {makeCustomFeedLink} from '#/lib/routes/links' import {logger} from '#/logger' import {UserAvatar} from '#/view/com/util/UserAvatar' import { atoms as a, native, useGutters, useTheme, type ViewStyleProp, web, } from '#/alf' import {Button, ButtonIcon} from '#/components/Button' import * as FeedCard from '#/components/FeedCard' import {sizes as iconSizes} from '#/components/icons/common' import {MagnifyingGlass2_Stroke2_Corner0_Rounded as SearchIcon} from '#/components/icons/MagnifyingGlass2' import {Link} from '#/components/Link' import {Text, type TextProps} from '#/components/Typography' export function Container({ style, children, headerHeight, }: {children: React.ReactNode; headerHeight?: number} & ViewStyleProp) { const t = useTheme() const gutters = useGutters([0, 'base']) return ( {children} ) } export function FeedLink({ feed, children, }: { feed: AppBskyFeedDefs.GeneratorView children?: React.ReactNode }) { const t = useTheme() const {host: did, rkey} = useMemo(() => new AtUri(feed.uri), [feed.uri]) return ( {({focused, hovered, pressed}) => ( {children} )} ) } export function FeedAvatar({feed}: {feed: AppBskyFeedDefs.GeneratorView}) { return } export function Icon({ icon: Comp, size = 'lg', }: Pick, 'icon' | 'size'>) { const iconSize = iconSizes[size] return ( ) } export function TitleText({style, ...props}: TextProps) { return ( ) } export function SubtitleText({style, ...props}: TextProps) { const t = useTheme() return ( ) } export function SearchButton({ label, metricsTag, onPress, }: { label: string metricsTag: 'suggestedAccounts' | 'suggestedFeeds' onPress?: () => void }) { return ( ) } export function PinButton({feed}: {feed: AppBskyFeedDefs.GeneratorView}) { return ( ) }