diff --git a/src/state/models/feed-view.ts b/src/state/models/feed-view.ts index 27b4b04e..8e180a35 100644 --- a/src/state/models/feed-view.ts +++ b/src/state/models/feed-view.ts @@ -28,6 +28,7 @@ export class FeedItemModel implements GetTimeline.FeedItem { declaration: {cid: '', actorType: ''}, } repostedBy?: GetTimeline.Actor + trendedBy?: GetTimeline.Actor record: Record = {} embed?: | GetTimeline.RecordEmbed @@ -55,6 +56,7 @@ export class FeedItemModel implements GetTimeline.FeedItem { this.cid = v.cid this.author = v.author this.repostedBy = v.repostedBy + this.trendedBy = v.trendedBy this.record = v.record this.embed = v.embed this.replyCount = v.replyCount diff --git a/src/view/com/notifications/Feed.tsx b/src/view/com/notifications/Feed.tsx index 493412e7..a3cac0cd 100644 --- a/src/view/com/notifications/Feed.tsx +++ b/src/view/com/notifications/Feed.tsx @@ -26,7 +26,7 @@ export const Feed = observer(function Feed({ view.loadMore().catch(err => console.error('Failed to load more', err)) } return ( - + {view.isLoading && !view.isRefreshing && !view.hasContent && ( Loading... )} diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx index fdc893e7..2ccd0d5b 100644 --- a/src/view/com/notifications/FeedItem.tsx +++ b/src/view/com/notifications/FeedItem.tsx @@ -70,7 +70,7 @@ export const FeedItem = observer(function FeedItem({ } else if (item.isTrend) { action = 'Your post is trending with' icon = 'arrow-trend-up' - iconStyle = [s.blue3] + iconStyle = [s.red3] } else if (item.isReply) { action = 'replied to your post' icon = ['far', 'comment'] @@ -169,7 +169,7 @@ export const FeedItem = observer(function FeedItem({ {ago(item.indexedAt)} - {item.isUpvote || item.isRepost ? ( + {item.isUpvote || item.isRepost || item.isTrend ? ( ) : ( <> diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx index 43017f7d..163405ae 100644 --- a/src/view/com/posts/FeedItem.tsx +++ b/src/view/com/posts/FeedItem.tsx @@ -1,6 +1,6 @@ import React, {useMemo} from 'react' import {observer} from 'mobx-react-lite' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, Text, View} from 'react-native' import {AtUri} from '../../../third-party/uri' import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' @@ -65,10 +65,21 @@ export const FeedItem = observer(function FeedItem({ return ( {item.repostedBy && ( - - + + - Reposted by {item.repostedBy.displayName} + Reposted by {item.repostedBy.displayName || item.repostedBy.handle} + + + )} + {item.trendedBy && ( + + + + Trending with {item.trendedBy.displayName || item.trendedBy.handle} )} @@ -158,12 +169,12 @@ const styles = StyleSheet.create({ backgroundColor: colors.white, padding: 10, }, - repostedBy: { + includeReason: { flexDirection: 'row', paddingLeft: 60, }, - repostedByIcon: { - marginRight: 2, + includeReasonIcon: { + marginRight: 4, color: colors.gray4, }, layout: { diff --git a/src/view/screens/Notifications.tsx b/src/view/screens/Notifications.tsx index 85106f2d..c82e7cc7 100644 --- a/src/view/screens/Notifications.tsx +++ b/src/view/screens/Notifications.tsx @@ -24,7 +24,6 @@ export const Notifications = ({visible}: ScreenParams) => { notesView?.update() } else { store.nav.setTitle('Notifications') - console.log('Fetching notifications feed') const newNotesView = new NotificationsViewModel(store, {}) setNotesView(newNotesView) newNotesView.setup().then(() => { @@ -38,7 +37,7 @@ export const Notifications = ({visible}: ScreenParams) => { }, [visible, store]) return ( - + {notesView && } diff --git a/todos.txt b/todos.txt index 18a76c45..9f40fac7 100644 --- a/todos.txt +++ b/todos.txt @@ -19,7 +19,6 @@ Paul's todo list - Use pagination to make sure there are suggestions - User profile - Scene - > Trending > Edit profile > Remove member - Reply gating