about summary refs log tree commit diff
path: root/src/view/com/posts/FeedSlice.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/posts/FeedSlice.tsx')
-rw-r--r--src/view/com/posts/FeedSlice.tsx166
1 files changed, 0 insertions, 166 deletions
diff --git a/src/view/com/posts/FeedSlice.tsx b/src/view/com/posts/FeedSlice.tsx
deleted file mode 100644
index dc68ee7a1..000000000
--- a/src/view/com/posts/FeedSlice.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-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 {usePalette} from '#/lib/hooks/usePalette'
-import {makeProfileLink} from '#/lib/routes/links'
-import {FeedPostSlice} from '#/state/queries/post-feed'
-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 (
-      <>
-        <FeedItem
-          key={slice.items[0]._reactKey}
-          post={slice.items[0].post}
-          record={slice.items[0].record}
-          reason={slice.reason}
-          feedContext={slice.feedContext}
-          parentAuthor={slice.items[0].parentAuthor}
-          showReplyTo={false}
-          moderation={slice.items[0].moderation}
-          isThreadParent={isThreadParentAt(slice.items, 0)}
-          isThreadChild={isThreadChildAt(slice.items, 0)}
-          hideTopBorder={hideTopBorder}
-          isParentBlocked={slice.items[0].isParentBlocked}
-          isParentNotFound={slice.items[0].isParentNotFound}
-          rootPost={slice.items[0].post}
-        />
-        <ViewFullThread uri={slice.items[0].uri} />
-        <FeedItem
-          key={slice.items[beforeLast]._reactKey}
-          post={slice.items[beforeLast].post}
-          record={slice.items[beforeLast].record}
-          reason={undefined}
-          feedContext={slice.feedContext}
-          parentAuthor={slice.items[beforeLast].parentAuthor}
-          showReplyTo={
-            slice.items[beforeLast].parentAuthor?.did !==
-            slice.items[beforeLast].post.author.did
-          }
-          moderation={slice.items[beforeLast].moderation}
-          isThreadParent={isThreadParentAt(slice.items, beforeLast)}
-          isThreadChild={isThreadChildAt(slice.items, beforeLast)}
-          isParentBlocked={slice.items[beforeLast].isParentBlocked}
-          isParentNotFound={slice.items[beforeLast].isParentNotFound}
-          rootPost={slice.items[0].post}
-        />
-        <FeedItem
-          key={slice.items[last]._reactKey}
-          post={slice.items[last].post}
-          record={slice.items[last].record}
-          reason={undefined}
-          feedContext={slice.feedContext}
-          parentAuthor={slice.items[last].parentAuthor}
-          showReplyTo={false}
-          moderation={slice.items[last].moderation}
-          isThreadParent={isThreadParentAt(slice.items, last)}
-          isThreadChild={isThreadChildAt(slice.items, last)}
-          isParentBlocked={slice.items[last].isParentBlocked}
-          isParentNotFound={slice.items[last].isParentNotFound}
-          isThreadLastChild
-          rootPost={slice.items[0].post}
-        />
-      </>
-    )
-  }
-
-  return (
-    <>
-      {slice.items.map((item, i) => (
-        <FeedItem
-          key={item._reactKey}
-          post={slice.items[i].post}
-          record={slice.items[i].record}
-          reason={i === 0 ? slice.reason : undefined}
-          feedContext={slice.feedContext}
-          moderation={slice.items[i].moderation}
-          parentAuthor={slice.items[i].parentAuthor}
-          showReplyTo={i === 0}
-          isThreadParent={isThreadParentAt(slice.items, i)}
-          isThreadChild={isThreadChildAt(slice.items, i)}
-          isThreadLastChild={
-            isThreadChildAt(slice.items, i) && slice.items.length === i + 1
-          }
-          isParentBlocked={slice.items[i].isParentBlocked}
-          isParentNotFound={slice.items[i].isParentNotFound}
-          hideTopBorder={hideTopBorder && i === 0}
-          rootPost={slice.items[0].post}
-        />
-      ))}
-    </>
-  )
-}
-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 (
-    <Link style={[styles.viewFullThread]} href={itemHref} asAnchor noFeedback>
-      <View style={styles.viewFullThreadDots}>
-        <Svg width="4" height="40">
-          <Line
-            x1="2"
-            y1="0"
-            x2="2"
-            y2="15"
-            stroke={pal.colors.replyLine}
-            strokeWidth="2"
-          />
-          <Circle cx="2" cy="22" r="1.5" fill={pal.colors.replyLineDot} />
-          <Circle cx="2" cy="28" r="1.5" fill={pal.colors.replyLineDot} />
-          <Circle cx="2" cy="34" r="1.5" fill={pal.colors.replyLineDot} />
-        </Svg>
-      </View>
-
-      <Text type="md" style={[pal.link, {paddingTop: 18, paddingBottom: 4}]}>
-        <Trans>View full thread</Trans>
-      </Text>
-    </Link>
-  )
-}
-
-const styles = StyleSheet.create({
-  viewFullThread: {
-    flexDirection: 'row',
-    gap: 10,
-    paddingLeft: 18,
-  },
-  viewFullThreadDots: {
-    width: 42,
-    alignItems: 'center',
-  },
-})
-
-function isThreadParentAt<T>(arr: Array<T>, i: number) {
-  if (arr.length === 1) {
-    return false
-  }
-  return i < arr.length - 1
-}
-
-function isThreadChildAt<T>(arr: Array<T>, i: number) {
-  if (arr.length === 1) {
-    return false
-  }
-  return i > 0
-}