import React, {memo} from 'react' import {StyleSheet, View} from 'react-native' import Svg, {Circle, Line} from 'react-native-svg' import {AtUri} from '@atproto/api' import {Trans} from '@lingui/macro' import {FeedPostSlice} from '#/state/queries/post-feed' import {usePalette} from 'lib/hooks/usePalette' import {makeProfileLink} from 'lib/routes/links' import {Link} from '../util/Link' import {Text} from '../util/text/Text' import {FeedItem} from './FeedItem' let FeedSlice = ({ slice, hideTopBorder, }: { slice: FeedPostSlice hideTopBorder?: boolean }): React.ReactNode => { if (slice.isIncompleteThread && slice.items.length >= 3) { const beforeLast = slice.items.length - 2 const last = slice.items.length - 1 return ( <> ) } return ( <> {slice.items.map((item, i) => ( ))} ) } FeedSlice = memo(FeedSlice) export {FeedSlice} function ViewFullThread({uri}: {uri: string}) { const pal = usePalette('default') const itemHref = React.useMemo(() => { const urip = new AtUri(uri) return makeProfileLink({did: urip.hostname, handle: ''}, 'post', urip.rkey) }, [uri]) return ( View full thread ) } const styles = StyleSheet.create({ viewFullThread: { flexDirection: 'row', gap: 10, paddingLeft: 18, }, viewFullThreadDots: { width: 52, alignItems: 'center', }, }) function isThreadParentAt(arr: Array, i: number) { if (arr.length === 1) { return false } return i < arr.length - 1 } function isThreadChildAt(arr: Array, i: number) { if (arr.length === 1) { return false } return i > 0 }