diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-05-17 14:38:23 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-05-17 14:38:23 -0500 |
commit | 9c02fbb925290b9f147e1622f4f41f5a956dce5c (patch) | |
tree | 2ea9a9439be14db7081b923a662c8368382a438c | |
parent | 4e56d24a9d72da4e7c3ddac6ae85b3913f2b365b (diff) | |
download | voidsky-9c02fbb925290b9f147e1622f4f41f5a956dce5c.tar.zst |
Unify the display name fallback behavior
-rw-r--r-- | src/state/models/feeds/custom-feed.ts | 8 | ||||
-rw-r--r-- | src/state/models/ui/saved-feeds.ts | 8 | ||||
-rw-r--r-- | src/view/com/feeds/CustomFeed.tsx | 11 |
3 files changed, 16 insertions, 11 deletions
diff --git a/src/state/models/feeds/custom-feed.ts b/src/state/models/feeds/custom-feed.ts index 20eef49ad..e60ac2740 100644 --- a/src/state/models/feeds/custom-feed.ts +++ b/src/state/models/feeds/custom-feed.ts @@ -1,6 +1,7 @@ import {AppBskyFeedDefs, AtUri} from '@atproto/api' import {makeAutoObservable} from 'mobx' import {RootStoreModel} from 'state/models/root-store' +import {sanitizeDisplayName} from 'lib/strings/display-names' export class CustomFeedModel { // data @@ -34,6 +35,13 @@ export class CustomFeedModel { return this.data.uri } + get displayName() { + if (this.data.displayName) { + return sanitizeDisplayName(this.data.displayName) + } + return `Feed by @${this.data.creator.handle}` + } + get isSaved() { return this.data.viewer?.saved } diff --git a/src/state/models/ui/saved-feeds.ts b/src/state/models/ui/saved-feeds.ts index ce0de25ec..85e77cae5 100644 --- a/src/state/models/ui/saved-feeds.ts +++ b/src/state/models/ui/saved-feeds.ts @@ -66,15 +66,11 @@ export class SavedFeedsModel { } get listOfFeedNames() { - return this.feeds.map( - f => f.data.displayName ?? f.data.creator.displayName + "'s feed", - ) + return this.feeds.map(f => f.displayName) } get listOfPinnedFeedNames() { - return this.pinned.map( - f => f.data.displayName ?? f.data.creator.displayName + "'s feed", - ) + return this.pinned.map(f => f.displayName) } get savedFeedsWithoutPinned() { diff --git a/src/view/com/feeds/CustomFeed.tsx b/src/view/com/feeds/CustomFeed.tsx index e4e0d50c2..95726be64 100644 --- a/src/view/com/feeds/CustomFeed.tsx +++ b/src/view/com/feeds/CustomFeed.tsx @@ -54,9 +54,7 @@ export const CustomFeed = observer( navigation.navigate('CustomFeed', { name: item.data.creator.did, rkey: new AtUri(item.data.uri).rkey, - displayName: - item.data.displayName ?? - `${item.data.creator.displayName}'s feed`, + displayName: item.displayName, }) }} key={item.data.uri}> @@ -65,8 +63,11 @@ export const CustomFeed = observer( <UserAvatar type="algo" size={36} avatar={item.data.avatar} /> </View> <View style={[styles.headerTextContainer]}> - <Text style={[pal.text, s.bold]}> - {item.data.displayName ?? 'Feed name'} + <Text style={[pal.text, s.bold]} numberOfLines={3}> + {item.displayName} + </Text> + <Text style={[pal.textLight]} numberOfLines={3}> + by @{item.data.creator.handle} </Text> </View> {showSaveBtn && ( |