From 77580ab6a4df8e233e5b1a9b166eebbca9bdc80f Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 18 Jan 2023 11:15:40 -0600 Subject: [PATCH] Rework all typography --- src/view/com/composer/Autocomplete.tsx | 4 +- src/view/com/composer/ComposePost.tsx | 9 +- src/view/com/composer/Prompt.tsx | 2 +- src/view/com/discover/SuggestedFollows.tsx | 2 +- src/view/com/post-thread/PostThreadItem.tsx | 40 +++-- src/view/com/post/Post.tsx | 14 +- src/view/com/posts/FeedItem.tsx | 24 ++- src/view/com/profile/ProfileCard.tsx | 2 +- src/view/com/profile/ProfileFollowers.tsx | 2 +- src/view/com/profile/ProfileFollows.tsx | 2 +- src/view/com/profile/ProfileHeader.tsx | 18 +- src/view/com/util/EmptyState.tsx | 2 +- src/view/com/util/Link.tsx | 2 +- src/view/com/util/PostEmbeds.tsx | 12 +- src/view/com/util/PostMeta.tsx | 6 +- src/view/com/util/UserInfoText.tsx | 2 +- src/view/com/util/ViewHeader.tsx | 4 +- src/view/com/util/error/ErrorMessage.tsx | 2 +- src/view/com/util/error/ErrorScreen.tsx | 4 +- src/view/com/util/text/RichText.tsx | 6 +- src/view/com/util/text/Text.tsx | 2 +- src/view/lib/ThemeContext.tsx | 46 ++++-- src/view/lib/themes.ts | 173 +++++++++++++++----- src/view/screens/Debug.tsx | 117 ++++++++++--- src/view/screens/Log.tsx | 6 +- src/view/screens/Search.tsx | 2 +- src/view/screens/Settings.tsx | 6 +- src/view/shell/mobile/Menu.tsx | 6 +- 28 files changed, 355 insertions(+), 162 deletions(-) diff --git a/src/view/com/composer/Autocomplete.tsx b/src/view/com/composer/Autocomplete.tsx index 2ccd0565..d3f99627 100644 --- a/src/view/com/composer/Autocomplete.tsx +++ b/src/view/com/composer/Autocomplete.tsx @@ -50,9 +50,9 @@ export function Autocomplete({ key={i} style={[pal.border, styles.item]} onPress={() => onSelect(item.handle)}> - + {item.displayName || item.handle} - +  @{item.handle} diff --git a/src/view/com/composer/ComposePost.tsx b/src/view/com/composer/ComposePost.tsx index 790e0f78..b3a5680f 100644 --- a/src/view/com/composer/ComposePost.tsx +++ b/src/view/com/composer/ComposePost.tsx @@ -243,12 +243,12 @@ export const ComposePost = observer(function ComposePost({ /> - + {replyTo.text} @@ -408,9 +408,12 @@ const styles = StyleSheet.create({ textInput: { flex: 1, padding: 5, - fontSize: 18, marginLeft: 8, alignSelf: 'flex-start', + fontSize: 18, + letterSpacing: 0.2, + fontWeight: '400', + lineHeight: 23.4, // 1.3*16 }, replyToLayout: { flexDirection: 'row', diff --git a/src/view/com/composer/Prompt.tsx b/src/view/com/composer/Prompt.tsx index e8f52f84..0b420021 100644 --- a/src/view/com/composer/Prompt.tsx +++ b/src/view/com/composer/Prompt.tsx @@ -26,7 +26,7 @@ export function ComposePrompt({ ]} onPress={onPressCompose}> - + {text} diff --git a/src/view/com/discover/SuggestedFollows.tsx b/src/view/com/discover/SuggestedFollows.tsx index 07f39744..f9e28da2 100644 --- a/src/view/com/discover/SuggestedFollows.tsx +++ b/src/view/com/discover/SuggestedFollows.tsx @@ -160,7 +160,7 @@ const User = ({ /> - + {item.displayName || item.handle} diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index 86e42862..2456da5a 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -130,17 +130,19 @@ export const PostThreadItem = observer(function PostThreadItem({ - - - {item.post.author.displayName || item.post.author.handle} + + + + {item.post.author.displayName || item.post.author.handle} + + + + · {ago(item.post.indexedAt)} - - - · {ago(item.post.indexedAt)} - + - + @{item.post.author.handle} @@ -176,9 +178,10 @@ export const PostThreadItem = observer(function PostThreadItem({ styles.postTextLargeContainer, ]}> ) : undefined} @@ -190,8 +193,8 @@ export const PostThreadItem = observer(function PostThreadItem({ style={styles.expandedInfoItem} href={repostsHref} title={repostsTitle}> - - + + {item.post.repostCount} {' '} {pluralize(item.post.repostCount, 'repost')} @@ -205,8 +208,8 @@ export const PostThreadItem = observer(function PostThreadItem({ style={styles.expandedInfoItem} href={upvotesHref} title={upvotesTitle}> - - + + {item.post.upvoteCount} {' '} {pluralize(item.post.upvoteCount, 'like')} @@ -289,14 +292,16 @@ export const PostThreadItem = observer(function PostThreadItem({ {item.post.author.viewer?.muted ? ( - This post is by a muted account. + This post is by a muted account. ) : record.text ? ( ) : ( @@ -394,6 +399,7 @@ const styles = StyleSheet.create({ alignItems: 'center', flexWrap: 'wrap', paddingBottom: 8, + paddingRight: 20, minHeight: 36, }, postTextLargeContainer: { diff --git a/src/view/com/post/Post.tsx b/src/view/com/post/Post.tsx index 75ed8495..7e0a8705 100644 --- a/src/view/com/post/Post.tsx +++ b/src/view/com/post/Post.tsx @@ -20,7 +20,6 @@ import {Text} from '../util/text/Text' import {RichText} from '../util/text/RichText' import * as Toast from '../util/Toast' import {UserAvatar} from '../util/UserAvatar' -import {ErrorMessage} from '../util/error/ErrorMessage' import {useStores} from '../../../state' import {s, colors} from '../../lib/styles' import {usePalette} from '../../lib/hooks/usePalette' @@ -166,12 +165,12 @@ export const Post = observer(function Post({ size={9} style={[pal.textLight, s.mr5]} /> - + Reply to - This post is by a muted account. + This post is by a muted account. ) : record.text ? ( - + ) : ( diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx index f5536907..cfac2bed 100644 --- a/src/view/com/posts/FeedItem.tsx +++ b/src/view/com/posts/FeedItem.tsx @@ -15,7 +15,7 @@ import {PostEmbeds} from '../util/PostEmbeds' import {RichText} from '../util/text/RichText' import * as Toast from '../util/Toast' import {UserAvatar} from '../util/UserAvatar' -import {s, colors} from '../../lib/styles' +import {s} from '../../lib/styles' import {useStores} from '../../../state' import {useTheme} from '../../lib/ThemeContext' import {usePalette} from '../../lib/hooks/usePalette' @@ -30,7 +30,6 @@ export const FeedItem = observer(function ({ ignoreMuteFor?: string }) { const store = useStores() - const theme = useTheme() const pal = usePalette('default') const [deleted, setDeleted] = useState(false) const record = item.postRecord @@ -144,12 +143,7 @@ export const FeedItem = observer(function ({ icon="retweet" style={[styles.includeReasonIcon, {color: pal.colors.textLight}]} /> - + Reposted by{' '} {item.reasonRepost.by.displayName || item.reasonRepost.by.handle} @@ -180,15 +174,15 @@ export const FeedItem = observer(function ({ size={9} style={[{color: pal.colors.textLight}, s.mr5]} /> - + Reply to @@ -197,14 +191,15 @@ export const FeedItem = observer(function ({ ignoreMuteFor !== item.post.author.did ? ( - This post is by a muted account. + This post is by a muted account. ) : record.text ? ( ) : ( @@ -251,7 +246,7 @@ export const FeedItem = observer(function ({ - + View full thread @@ -322,6 +317,7 @@ const styles = StyleSheet.create({ alignItems: 'center', flexWrap: 'wrap', paddingBottom: 4, + paddingRight: 20, }, embed: { marginBottom: 6, diff --git a/src/view/com/profile/ProfileCard.tsx b/src/view/com/profile/ProfileCard.tsx index 5d1992b7..0cda3ba2 100644 --- a/src/view/com/profile/ProfileCard.tsx +++ b/src/view/com/profile/ProfileCard.tsx @@ -39,7 +39,7 @@ export function ProfileCard({ {displayName || handle} - + @{handle} diff --git a/src/view/com/profile/ProfileFollowers.tsx b/src/view/com/profile/ProfileFollowers.tsx index 26939c7c..469a91f8 100644 --- a/src/view/com/profile/ProfileFollowers.tsx +++ b/src/view/com/profile/ProfileFollowers.tsx @@ -99,7 +99,7 @@ const User = ({item}: {item: FollowerItem}) => { {item.displayName || item.handle} - + @{item.handle} diff --git a/src/view/com/profile/ProfileFollows.tsx b/src/view/com/profile/ProfileFollows.tsx index 03c5b13b..9b413ab7 100644 --- a/src/view/com/profile/ProfileFollows.tsx +++ b/src/view/com/profile/ProfileFollows.tsx @@ -99,7 +99,7 @@ const User = ({item}: {item: FollowItem}) => { {item.displayName || item.handle} - + @{item.handle} diff --git a/src/view/com/profile/ProfileHeader.tsx b/src/view/com/profile/ProfileHeader.tsx index 52a4400a..ec577f25 100644 --- a/src/view/com/profile/ProfileHeader.tsx +++ b/src/view/com/profile/ProfileHeader.tsx @@ -108,7 +108,7 @@ export const ProfileHeader = observer(function ProfileHeader({ /> - + {view.displayName || view.handle} @@ -200,7 +200,7 @@ export const ProfileHeader = observer(function ProfileHeader({ ) : undefined} - + {view.displayName || view.handle} @@ -212,10 +212,10 @@ export const ProfileHeader = observer(function ProfileHeader({ testID="profileHeaderFollowersButton" style={[s.flexRow, s.mr10]} onPress={onPressFollowers}> - + {view.followersCount} - + {pluralize(view.followersCount, 'follower')} @@ -224,19 +224,19 @@ export const ProfileHeader = observer(function ProfileHeader({ testID="profileHeaderFollowsButton" style={[s.flexRow, s.mr10]} onPress={onPressFollows}> - + {view.followsCount} - + following ) : undefined} - + {view.postsCount} - + {pluralize(view.postsCount, 'post')} @@ -255,7 +255,7 @@ export const ProfileHeader = observer(function ProfileHeader({ icon={['far', 'eye-slash']} style={[pal.text, s.mr5]} /> - + Account muted. diff --git a/src/view/com/util/EmptyState.tsx b/src/view/com/util/EmptyState.tsx index d9a317fa..5cede14a 100644 --- a/src/view/com/util/EmptyState.tsx +++ b/src/view/com/util/EmptyState.tsx @@ -29,7 +29,7 @@ export function EmptyState({ /> )} - + {message} diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index 1e7b9050..aacdc327 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -58,7 +58,7 @@ export const Link = observer(function Link({ }) export const TextLink = observer(function Link({ - type = 'body1', + type = 'md', style, href, text, diff --git a/src/view/com/util/PostEmbeds.tsx b/src/view/com/util/PostEmbeds.tsx index 5e01f862..8d2bc6f3 100644 --- a/src/view/com/util/PostEmbeds.tsx +++ b/src/view/com/util/PostEmbeds.tsx @@ -92,21 +92,18 @@ export function PostEmbeds({ /> )} - + {link.title || link.uri} {link.uri} {link.description ? ( {link.description} @@ -140,9 +137,6 @@ const styles = StyleSheet.create({ extImageFallback: { height: 160, }, - extTitle: { - fontWeight: '600', - }, extUri: { marginTop: 2, }, diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx index 8e1a900d..24148032 100644 --- a/src/view/com/util/PostMeta.tsx +++ b/src/view/com/util/PostMeta.tsx @@ -40,16 +40,16 @@ export function PostMeta(opts: PostMetaOpts) { style={[styles.metaItem, styles.maxWidth]} href={opts.authorHref} title={opts.authorHandle}> - + {displayName} {handle ? ( - +  {handle} ) : undefined} - + · {ago(opts.timestamp)} diff --git a/src/view/com/util/UserInfoText.tsx b/src/view/com/util/UserInfoText.tsx index d9f8cbf2..db6696a9 100644 --- a/src/view/com/util/UserInfoText.tsx +++ b/src/view/com/util/UserInfoText.tsx @@ -8,7 +8,7 @@ import {useStores} from '../../../state' import {TypographyVariant} from '../../lib/ThemeContext' export function UserInfoText({ - type = 'body1', + type = 'md', did, attr, loading, diff --git a/src/view/com/util/ViewHeader.tsx b/src/view/com/util/ViewHeader.tsx index ab80bd85..07f7bc22 100644 --- a/src/view/com/util/ViewHeader.tsx +++ b/src/view/com/util/ViewHeader.tsx @@ -68,12 +68,12 @@ export const ViewHeader = observer(function ViewHeader({ )} - + {title} {subtitle ? ( {subtitle} diff --git a/src/view/com/util/error/ErrorMessage.tsx b/src/view/com/util/error/ErrorMessage.tsx index ee31ad2c..684e93fc 100644 --- a/src/view/com/util/error/ErrorMessage.tsx +++ b/src/view/com/util/error/ErrorMessage.tsx @@ -31,7 +31,7 @@ export function ErrorMessage({ {message} diff --git a/src/view/com/util/error/ErrorScreen.tsx b/src/view/com/util/error/ErrorScreen.tsx index 0033195d..0500b206 100644 --- a/src/view/com/util/error/ErrorScreen.tsx +++ b/src/view/com/util/error/ErrorScreen.tsx @@ -36,14 +36,14 @@ export function ErrorScreen({ /> - + {title} {message} {details && ( numberOfLines?: number }) { const theme = useTheme() const pal = usePalette('default') - const lineHeightStyle = lh(theme, type, 1.2) + const lineHeightStyle = lh(theme, type, lineHeight) if (!entities?.length) { if (/^\p{Extended_Pictographic}+$/u.test(text) && text.length <= 5) { style = { diff --git a/src/view/com/util/text/Text.tsx b/src/view/com/util/text/Text.tsx index 549eb290..c3a8a219 100644 --- a/src/view/com/util/text/Text.tsx +++ b/src/view/com/util/text/Text.tsx @@ -8,7 +8,7 @@ export type CustomTextProps = TextProps & { } export function Text({ - type = 'body1', + type = 'md', children, style, ...props diff --git a/src/view/lib/ThemeContext.tsx b/src/view/lib/ThemeContext.tsx index 28edf1fc..54ae7127 100644 --- a/src/view/lib/ThemeContext.tsx +++ b/src/view/lib/ThemeContext.tsx @@ -27,21 +27,39 @@ export type ShapeName = 'button' | 'bigButton' | 'smallButton' export type Shapes = Record export type TypographyVariant = - | 'h1' - | 'h2' - | 'h3' - | 'h4' - | 'h5' - | 'h6' - | 'subtitle1' - | 'subtitle2' - | 'body1' - | 'body2' + | 'xl-thin' + | 'xl' + | 'xl-medium' + | 'xl-bold' + | 'xl-heavy' + | 'lg-thin' + | 'lg' + | 'lg-medium' + | 'lg-bold' + | 'lg-heavy' + | 'md-thin' + | 'md' + | 'md-medium' + | 'md-bold' + | 'md-heavy' + | 'sm-thin' + | 'sm' + | 'sm-medium' + | 'sm-bold' + | 'sm-heavy' + | 'xs-thin' + | 'xs' + | 'xs-medium' + | 'xs-bold' + | 'xs-heavy' + | 'title-xl' + | 'title-lg' + | 'title' + | 'title-sm' + | 'post-text-lg' + | 'post-text' | 'button' - | 'caption' - | 'overline1' - | 'overline2' - | 'mono1' + | 'mono' export type Typography = Record export interface Theme { diff --git a/src/view/lib/themes.ts b/src/view/lib/themes.ts index d25fe58f..451631e9 100644 --- a/src/view/lib/themes.ts +++ b/src/view/lib/themes.ts @@ -75,70 +75,167 @@ export const defaultTheme: Theme = { }, }, typography: { - h1: { - fontSize: 48, + 'xl-thin': { + fontSize: 17, + letterSpacing: 0.25, + fontWeight: '300', + }, + xl: { + fontSize: 17, + letterSpacing: 0.25, + fontWeight: '400', + }, + 'xl-medium': { + fontSize: 17, + letterSpacing: 0.25, fontWeight: '500', }, - h2: { + 'xl-bold': { + fontSize: 17, + letterSpacing: 0.25, + fontWeight: '700', + }, + 'xl-heavy': { + fontSize: 17, + letterSpacing: 0.25, + fontWeight: '800', + }, + 'lg-thin': { + fontSize: 16, + letterSpacing: 0.25, + fontWeight: '300', + }, + lg: { + fontSize: 16, + letterSpacing: 0.25, + fontWeight: '400', + }, + 'lg-medium': { + fontSize: 16, + letterSpacing: 0.25, + fontWeight: '500', + }, + 'lg-bold': { + fontSize: 16, + letterSpacing: 0.25, + fontWeight: '700', + }, + 'lg-heavy': { + fontSize: 16, + letterSpacing: 0.25, + fontWeight: '800', + }, + 'md-thin': { + fontSize: 15, + letterSpacing: 0.25, + fontWeight: '300', + }, + md: { + fontSize: 15, + letterSpacing: 0.25, + fontWeight: '400', + }, + 'md-medium': { + fontSize: 15, + letterSpacing: 0.25, + fontWeight: '500', + }, + 'md-bold': { + fontSize: 15, + letterSpacing: 0.25, + fontWeight: '700', + }, + 'md-heavy': { + fontSize: 15, + letterSpacing: 0.25, + fontWeight: '800', + }, + 'sm-thin': { + fontSize: 14, + letterSpacing: 0.25, + fontWeight: '300', + }, + sm: { + fontSize: 14, + letterSpacing: 0.25, + fontWeight: '400', + }, + 'sm-medium': { + fontSize: 14, + letterSpacing: 0.25, + fontWeight: '500', + }, + 'sm-bold': { + fontSize: 14, + letterSpacing: 0.25, + fontWeight: '700', + }, + 'sm-heavy': { + fontSize: 14, + letterSpacing: 0.25, + fontWeight: '800', + }, + 'xs-thin': { + fontSize: 13, + letterSpacing: 0.25, + fontWeight: '300', + }, + xs: { + fontSize: 13, + letterSpacing: 0.25, + fontWeight: '400', + }, + 'xs-medium': { + fontSize: 13, + letterSpacing: 0.25, + fontWeight: '500', + }, + 'xs-bold': { + fontSize: 13, + letterSpacing: 0.25, + fontWeight: '700', + }, + 'xs-heavy': { + fontSize: 13, + letterSpacing: 0.25, + fontWeight: '800', + }, + + 'title-xl': { fontSize: 34, letterSpacing: 0.25, fontWeight: '500', }, - h3: { + 'title-lg': { fontSize: 24, fontWeight: '500', }, - h4: { + title: { fontWeight: '500', fontSize: 20, letterSpacing: 0.15, }, - h5: { + 'title-sm': { fontWeight: 'bold', fontSize: 17, letterSpacing: 0.15, }, - h6: { - fontWeight: '400', - fontSize: 15, - letterSpacing: 0.15, - }, - subtitle1: { + 'post-text': { fontSize: 16, - letterSpacing: 0.15, - }, - subtitle2: { - fontWeight: '500', - fontSize: 14, - letterSpacing: 0.1, - }, - body1: { - fontSize: 17, letterSpacing: 0.2, + fontWeight: '400', }, - body2: { - fontSize: 14, - letterSpacing: 0.25, + 'post-text-lg': { + fontSize: 24, + letterSpacing: 0.4, + fontWeight: '400', }, button: { fontWeight: '500', fontSize: 14, letterSpacing: 0.5, }, - caption: { - fontSize: 12, - letterSpacing: 0.4, - }, - overline1: { - fontSize: 10, - letterSpacing: 1.5, - textTransform: 'uppercase', - }, - overline2: { - fontSize: 14, - fontWeight: '600', - }, - mono1: { + mono: { fontSize: 14, fontFamily: Platform.OS === 'android' ? 'monospace' : 'Courier New', }, diff --git a/src/view/screens/Debug.tsx b/src/view/screens/Debug.tsx index 34cb6b5a..f6e2b389 100644 --- a/src/view/screens/Debug.tsx +++ b/src/view/screens/Debug.tsx @@ -87,7 +87,7 @@ function Heading({label}: {label: string}) { const pal = usePalette('default') return ( - + {label} @@ -97,14 +97,14 @@ function Heading({label}: {label: string}) { function BaseView() { return ( + + - - @@ -197,36 +197,109 @@ function TypographyView() { const pal = usePalette('default') return ( - - Heading 1 + + 'xxl-thin' lorem ipsum dolor - - Heading 2 + + 'xxl' lorem ipsum dolor - - Heading 3 + + 'xxl-medium' lorem ipsum dolor - - Heading 4 + + 'xxl-bold' lorem ipsum dolor - - Subtitle 1 + + 'xxl-heavy' lorem ipsum dolor - - Subtitle 2 + + 'xl-thin' lorem ipsum dolor - - Body 1 + + 'xl' lorem ipsum dolor - - Body 2 + + 'xl-medium' lorem ipsum dolor + + + 'xl-bold' lorem ipsum dolor + + + 'xl-heavy' lorem ipsum dolor + + + 'lg-thin' lorem ipsum dolor + + + 'lg' lorem ipsum dolor + + + 'lg-medium' lorem ipsum dolor + + + 'lg-bold' lorem ipsum dolor + + + 'lg-heavy' lorem ipsum dolor + + + 'md-thin' lorem ipsum dolor + + + 'md' lorem ipsum dolor + + + 'md-medium' lorem ipsum dolor + + + 'md-bold' lorem ipsum dolor + + + 'md-heavy' lorem ipsum dolor + + + 'sm-thin' lorem ipsum dolor + + + 'sm' lorem ipsum dolor + + + 'sm-medium' lorem ipsum dolor + + + 'sm-bold' lorem ipsum dolor + + + 'sm-heavy' lorem ipsum dolor + + + 'xs-thin' lorem ipsum dolor + + + 'xs' lorem ipsum dolor + + + 'xs-medium' lorem ipsum dolor + + + 'xs-bold' lorem ipsum dolor + + + 'xs-heavy' lorem ipsum dolor + + + + 'title-xl' lorem ipsum dolor + + + 'title-lg' lorem ipsum dolor + + + 'title' lorem ipsum dolor Button - - Caption - Overline diff --git a/src/view/screens/Log.tsx b/src/view/screens/Log.tsx index 86c5e50e..43036b01 100644 --- a/src/view/screens/Log.tsx +++ b/src/view/screens/Log.tsx @@ -49,7 +49,7 @@ export const Log = observer(function Log({navIdx, visible}: ScreenParams) { ) : ( )} - + {entry.summary} {!!entry.details ? ( @@ -60,14 +60,14 @@ export const Log = observer(function Log({navIdx, visible}: ScreenParams) { style={s.mr5} /> ) : undefined} - + {entry.ts ? ago(entry.ts) : ''} {expanded.includes(entry.id) ? ( - + {entry.details} diff --git a/src/view/screens/Search.tsx b/src/view/screens/Search.tsx index 5844aa11..cd560779 100644 --- a/src/view/screens/Search.tsx +++ b/src/view/screens/Search.tsx @@ -82,7 +82,7 @@ export const Search = ({navIdx, visible, params}: ScreenParams) => { size={36} /> - + {item.displayName || item.handle} @{item.handle} diff --git a/src/view/screens/Settings.tsx b/src/view/screens/Settings.tsx index 39597152..c3619014 100644 --- a/src/view/screens/Settings.tsx +++ b/src/view/screens/Settings.tsx @@ -37,7 +37,7 @@ export const Settings = observer(function Settings({ Signed in as - + Sign out @@ -54,7 +54,7 @@ export const Settings = observer(function Settings({ avatar={store.me.avatar} /> - + {store.me.displayName || store.me.handle} @{store.me.handle} @@ -62,7 +62,7 @@ export const Settings = observer(function Settings({ - + Advanced {store.me.displayName || store.me.handle} @@ -119,7 +119,7 @@ export const Menu = observer( style={pal.text as StyleProp} size={25} /> - + Search