about summary refs log tree commit diff
path: root/src/view/screens/Feeds.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/screens/Feeds.tsx')
-rw-r--r--src/view/screens/Feeds.tsx52
1 files changed, 32 insertions, 20 deletions
diff --git a/src/view/screens/Feeds.tsx b/src/view/screens/Feeds.tsx
index 2e5b48513..82de30d5c 100644
--- a/src/view/screens/Feeds.tsx
+++ b/src/view/screens/Feeds.tsx
@@ -41,6 +41,7 @@ import hairlineWidth = StyleSheet.hairlineWidth
 import {Divider} from '#/components/Divider'
 import * as FeedCard from '#/components/FeedCard'
 import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
+import * as ListCard from '#/components/ListCard'
 
 type Props = NativeStackScreenProps<CommonNavigatorParams, 'Feeds'>
 
@@ -495,7 +496,7 @@ export function FeedsScreen(_props: Props) {
       } else if (item.type === 'popularFeed') {
         return (
           <View style={[a.px_lg, a.pt_lg, a.gap_lg]}>
-            <FeedCard.Default type="feed" view={item.feed} />
+            <FeedCard.Default view={item.feed} />
             <Divider />
           </View>
         )
@@ -627,7 +628,7 @@ function FollowingFeed() {
             fill={t.palette.white}
           />
         </View>
-        <FeedCard.TitleAndByline title={_(msg`Following`)} type="feed" />
+        <FeedCard.TitleAndByline title={_(msg`Following`)} />
       </FeedCard.Header>
     </View>
   )
@@ -639,34 +640,45 @@ function SavedFeed({
   savedFeed: SavedFeedItem & {type: 'feed' | 'list'}
 }) {
   const t = useTheme()
-  const {view: feed} = savedFeed
-  const displayName =
-    savedFeed.type === 'feed' ? savedFeed.view.displayName : savedFeed.view.name
 
-  return (
-    <FeedCard.Link testID={`saved-feed-${feed.displayName}`} {...savedFeed}>
+  const commonStyle = [
+    a.flex_1,
+    a.px_lg,
+    a.py_md,
+    a.border_b,
+    t.atoms.border_contrast_low,
+  ]
+
+  return savedFeed.type === 'feed' ? (
+    <FeedCard.Link
+      testID={`saved-feed-${savedFeed.view.displayName}`}
+      {...savedFeed}>
       {({hovered, pressed}) => (
         <View
-          style={[
-            a.flex_1,
-            a.px_lg,
-            a.py_md,
-            a.border_b,
-            t.atoms.border_contrast_low,
-            (hovered || pressed) && t.atoms.bg_contrast_25,
-          ]}>
+          style={[commonStyle, (hovered || pressed) && t.atoms.bg_contrast_25]}>
           <FeedCard.Header>
-            <FeedCard.Avatar src={feed.avatar} size={28} />
-            <FeedCard.TitleAndByline
-              title={displayName}
-              type={savedFeed.type}
-            />
+            <FeedCard.Avatar src={savedFeed.view.avatar} size={28} />
+            <FeedCard.TitleAndByline title={savedFeed.view.displayName} />
 
             <ChevronRight size="sm" fill={t.atoms.text_contrast_low.color} />
           </FeedCard.Header>
         </View>
       )}
     </FeedCard.Link>
+  ) : (
+    <ListCard.Link testID={`saved-feed-${savedFeed.view.name}`} {...savedFeed}>
+      {({hovered, pressed}) => (
+        <View
+          style={[commonStyle, (hovered || pressed) && t.atoms.bg_contrast_25]}>
+          <ListCard.Header>
+            <ListCard.Avatar src={savedFeed.view.avatar} size={28} />
+            <ListCard.TitleAndByline title={savedFeed.view.name} />
+
+            <ChevronRight size="sm" fill={t.atoms.text_contrast_low.color} />
+          </ListCard.Header>
+        </View>
+      )}
+    </ListCard.Link>
   )
 }