diff --git a/src/components/Timeline/Default.tsx b/src/components/Timeline/Default.tsx index 2ab6ae9f..b21a2e34 100644 --- a/src/components/Timeline/Default.tsx +++ b/src/components/Timeline/Default.tsx @@ -12,11 +12,11 @@ import TimelinePoll from '@components/Timeline/Shared/Poll' import { useNavigation } from '@react-navigation/native' import { StackNavigationProp } from '@react-navigation/stack' import { featureCheck } from '@utils/helpers/featureCheck' +import { checkIsMyAccount } from '@utils/helpers/isMyAccount' import removeHTML from '@utils/helpers/removeHTML' import { TabLocalStackParamList } from '@utils/navigation/navigators' import { usePreferencesQuery } from '@utils/queryHooks/preferences' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' -import { useAccountStorage } from '@utils/storage/actions' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { Fragment, useRef, useState } from 'react' @@ -63,10 +63,9 @@ const TimelineDefault: React.FC = ({ const { colors } = useTheme() const navigation = useNavigation>() - const [accountId] = useAccountStorage.string('auth.account.id') const { data: preferences } = usePreferencesQuery() - const ownAccount = status.account?.id === accountId + const isMyAccount = checkIsMyAccount(status.account.id) const [spoilerExpanded, setSpoilerExpanded] = useState( preferences?.['reading:expand:spoilers'] || false ) @@ -136,7 +135,7 @@ const TimelineDefault: React.FC = ({ const mStatus = menuStatus({ status, queryKey }) const mInstance = menuInstance({ status, queryKey }) - if (!ownAccount) { + if (!isMyAccount) { let filterResults: FilteredProps['filterResults'] = [] const [filterRevealed, setFilterRevealed] = useState(false) const hasFilterServerSide = featureCheck('filter_server_side') @@ -166,7 +165,7 @@ const TimelineDefault: React.FC = ({ value={{ queryKey, status, - ownAccount, + isMyAccount, spoilerHidden, rawContent, detectedLanguage, diff --git a/src/components/Timeline/Notifications.tsx b/src/components/Timeline/Notifications.tsx index 8f2ad75f..2c7f4892 100644 --- a/src/components/Timeline/Notifications.tsx +++ b/src/components/Timeline/Notifications.tsx @@ -12,10 +12,10 @@ import TimelinePoll from '@components/Timeline/Shared/Poll' import { useNavigation } from '@react-navigation/native' import { StackNavigationProp } from '@react-navigation/stack' import { featureCheck } from '@utils/helpers/featureCheck' +import { checkIsMyAccount } from '@utils/helpers/isMyAccount' import { TabLocalStackParamList } from '@utils/navigation/navigators' import { usePreferencesQuery } from '@utils/queryHooks/preferences' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' -import { useAccountStorage } from '@utils/storage/actions' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { Fragment, useState } from 'react' @@ -32,7 +32,6 @@ export interface Props { } const TimelineNotifications: React.FC = ({ notification, queryKey }) => { - const [accountId] = useAccountStorage.string('auth.account.id') const { data: preferences } = usePreferencesQuery() const status = notification.status?.reblog ? notification.status.reblog : notification.status @@ -42,7 +41,7 @@ const TimelineNotifications: React.FC = ({ notification, queryKey }) => { : notification.status ? notification.status.account : notification.account - const ownAccount = notification.account?.id === accountId + const isMyAccount = checkIsMyAccount(notification.account?.id) const [spoilerExpanded, setSpoilerExpanded] = useState( preferences?.['reading:expand:spoilers'] || false ) @@ -109,7 +108,7 @@ const TimelineNotifications: React.FC = ({ notification, queryKey }) => { const mStatus = menuStatus({ status: notification.status, queryKey }) const mInstance = menuInstance({ status: notification.status, queryKey }) - if (!ownAccount) { + if (!isMyAccount) { let filterResults: FilteredProps['filterResults'] = [] const [filterRevealed, setFilterRevealed] = useState(false) const hasFilterServerSide = featureCheck('filter_server_side') @@ -140,7 +139,7 @@ const TimelineNotifications: React.FC = ({ notification, queryKey }) => { value={{ queryKey, status, - ownAccount, + isMyAccount, spoilerHidden }} > diff --git a/src/components/Timeline/Shared/Actions.tsx b/src/components/Timeline/Shared/Actions.tsx index ec3dfdb7..3178e62a 100644 --- a/src/components/Timeline/Shared/Actions.tsx +++ b/src/components/Timeline/Shared/Actions.tsx @@ -22,7 +22,7 @@ import { Pressable, StyleSheet, View } from 'react-native' import StatusContext from './Context' const TimelineActions: React.FC = () => { - const { queryKey, status, ownAccount, highlighted, disableDetails } = useContext(StatusContext) + const { queryKey, status, isMyAccount, highlighted, disableDetails } = useContext(StatusContext) if (!queryKey || !status || disableDetails) return null const navigationState = useNavState() @@ -182,7 +182,7 @@ const TimelineActions: React.FC = () => { const childrenReblog = () => { const color = (state: boolean) => (state ? colors.green : colors.secondary) const disabled = - status.visibility === 'direct' || (status.visibility === 'private' && !ownAccount) + status.visibility === 'direct' || (status.visibility === 'private' && !isMyAccount) return ( <> { fontStyle='S' style={{ color: - status.visibility === 'private' && !ownAccount + status.visibility === 'private' && !isMyAccount ? colors.disabled : color(status.reblogged), marginLeft: StyleConstants.Spacing.XS @@ -258,7 +258,7 @@ const TimelineActions: React.FC = () => { onPress={onPressReblog} children={childrenReblog()} disabled={ - status.visibility === 'direct' || (status.visibility === 'private' && !ownAccount) + status.visibility === 'direct' || (status.visibility === 'private' && !isMyAccount) } /> diff --git a/src/components/Timeline/Shared/Context.tsx b/src/components/Timeline/Shared/Context.tsx index 2dbea5ae..4ab73b10 100644 --- a/src/components/Timeline/Shared/Context.tsx +++ b/src/components/Timeline/Shared/Context.tsx @@ -8,7 +8,7 @@ type StatusContextType = { status?: Mastodon.Status - ownAccount?: boolean + isMyAccount?: boolean spoilerHidden?: boolean rawContent?: React.MutableRefObject // When highlighted, for translate, edit history detectedLanguage?: React.MutableRefObject diff --git a/src/components/Timeline/Shared/Poll.tsx b/src/components/Timeline/Shared/Poll.tsx index 2229e505..4e8bf87b 100644 --- a/src/components/Timeline/Shared/Poll.tsx +++ b/src/components/Timeline/Shared/Poll.tsx @@ -21,7 +21,7 @@ import { Pressable, View } from 'react-native' import StatusContext from './Context' const TimelinePoll: React.FC = () => { - const { queryKey, status, ownAccount, spoilerHidden, disableDetails, highlighted } = + const { queryKey, status, isMyAccount, spoilerHidden, disableDetails, highlighted } = useContext(StatusContext) if (!queryKey || !status || !status.poll) return null const poll = status.poll @@ -72,7 +72,7 @@ const TimelinePoll: React.FC = () => { const pollButton = () => { if (!poll.expired) { - if (!ownAccount && !poll.voted) { + if (!isMyAccount && !poll.voted) { return (