From b388853429ae509632bc3d5bc1be7df123192327 Mon Sep 17 00:00:00 2001 From: xmflsct Date: Thu, 22 Dec 2022 18:38:04 +0100 Subject: [PATCH] Refine types for #600 --- src/components/Account.tsx | 2 +- src/components/Parse/Emojis.tsx | 4 +++- src/components/contextMenu/account.ts | 2 +- src/components/contextMenu/share.ts | 2 +- src/utils/navigation/navigators.ts | 7 +++++-- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/Account.tsx b/src/components/Account.tsx index 7445ad7e..7153973a 100644 --- a/src/components/Account.tsx +++ b/src/components/Account.tsx @@ -11,7 +11,7 @@ import Icon from './Icon' import CustomText from './Text' export interface Props { - account: Mastodon.Account + account: Partial & Pick props?: PressableProps } diff --git a/src/components/Parse/Emojis.tsx b/src/components/Parse/Emojis.tsx index 195c9893..a43835a1 100644 --- a/src/components/Parse/Emojis.tsx +++ b/src/components/Parse/Emojis.tsx @@ -13,7 +13,7 @@ import validUrl from 'valid-url' const regexEmoji = new RegExp(/(:[A-Za-z0-9_]+:)/) export interface Props { - content: string + content?: string emojis?: Mastodon.Emoji[] size?: 'S' | 'M' | 'L' adaptiveSize?: boolean @@ -23,6 +23,8 @@ export interface Props { const ParseEmojis = React.memo( ({ content, emojis, size = 'M', adaptiveSize = false, fontBold = false, style }: Props) => { + if (!content) return null + const { reduceMotionEnabled } = useAccessibility() const adaptiveFontsize = useSelector(getSettingsFontsize) diff --git a/src/components/contextMenu/account.ts b/src/components/contextMenu/account.ts index 21a5bed4..128745b3 100644 --- a/src/components/contextMenu/account.ts +++ b/src/components/contextMenu/account.ts @@ -30,7 +30,7 @@ const menuAccount = ({ }: { type: 'status' | 'account' // Where the action is coming from openChange: boolean - account?: Mastodon.Account + account?: Partial & Pick status?: Mastodon.Status queryKey?: QueryKeyTimeline rootQueryKey?: QueryKeyTimeline diff --git a/src/components/contextMenu/share.ts b/src/components/contextMenu/share.ts index 1f6d63d6..fa99dd89 100644 --- a/src/components/contextMenu/share.ts +++ b/src/components/contextMenu/share.ts @@ -13,7 +13,7 @@ const menuShare = ( } | { type: 'account' - url: string + url?: string } ): ContextMenu[][] => { if (params.type === 'status' && params.visibility === 'direct') return [] diff --git a/src/utils/navigation/navigators.ts b/src/utils/navigation/navigators.ts index 42095ac2..3403c2fb 100644 --- a/src/utils/navigation/navigators.ts +++ b/src/utils/navigation/navigators.ts @@ -92,7 +92,7 @@ export type ScreenTabsScreenProps = Bo export type TabSharedStackParamList = { 'Tab-Shared-Account': { - account: Partial & Pick + account: Partial & Pick } 'Tab-Shared-Account-In-Lists': { account: Pick @@ -105,7 +105,10 @@ export type TabSharedStackParamList = { id: Mastodon.Status['id'] detectedLanguage: string } - 'Tab-Shared-Report': { account: Mastodon.Account; status?: Pick } + 'Tab-Shared-Report': { + account: Partial & Pick + status?: Pick + } 'Tab-Shared-Search': undefined 'Tab-Shared-Toot': { toot: Mastodon.Status