diff --git a/src/components/Timeline/Default.tsx b/src/components/Timeline/Default.tsx index 8fb6eb52..3c78fc74 100644 --- a/src/components/Timeline/Default.tsx +++ b/src/components/Timeline/Default.tsx @@ -1,6 +1,3 @@ -import menuInstance from '@components/contextMenu/instance' -import menuShare from '@components/contextMenu/share' -import menuStatus from '@components/contextMenu/status' import TimelineActioned from '@components/Timeline/Shared/Actioned' import TimelineActions from '@components/Timeline/Shared/Actions' import TimelineAttachment from '@components/Timeline/Shared/Attachment' @@ -19,9 +16,8 @@ import { usePreferencesQuery } from '@utils/queryHooks/preferences' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' -import React, { Fragment, useRef, useState } from 'react' +import React, { useRef, useState } from 'react' import { Pressable, StyleProp, View, ViewStyle } from 'react-native' -import * as ContextMenu from 'zeego/context-menu' import StatusContext from './Shared/Context' import TimelineFeedback from './Shared/Feedback' import TimelineFiltered, { FilteredProps, shouldFilter } from './Shared/Filtered' @@ -126,15 +122,6 @@ const TimelineDefault: React.FC = ({ ) - const mShare = menuShare({ - visibility: status.visibility, - type: 'status', - url: status.url || status.uri, - rawContent - }) - const mStatus = menuStatus({ status, queryKey }) - const mInstance = menuInstance({ status, queryKey }) - if (!isMyAccount) { let filterResults: FilteredProps['filterResults'] = [] const [filterRevealed, setFilterRevealed] = useState(false) @@ -183,67 +170,14 @@ const TimelineDefault: React.FC = ({ {main()} ) : ( <> - - - navigation.push('Tab-Shared-Toot', { toot: status })} - onLongPress={() => {}} - children={main()} - /> - - - - {[mShare, mStatus, mInstance].map((menu, i) => ( - - {menu.map((group, index) => ( - - {group.map(item => { - switch (item.type) { - case 'item': - return ( - - - {item.icon ? ( - - ) : null} - - ) - case 'sub': - return ( - // @ts-ignore - - - - {item.trigger.icon ? ( - - ) : null} - - - {item.items.map(sub => ( - - - {sub.icon ? ( - - ) : null} - - ))} - - - ) - } - })} - - ))} - - ))} - - + navigation.push('Tab-Shared-Toot', { toot: status })} + onLongPress={() => {}} + children={main()} + /> )} diff --git a/src/components/Timeline/Notifications.tsx b/src/components/Timeline/Notifications.tsx index c1030c56..ee1ddfe3 100644 --- a/src/components/Timeline/Notifications.tsx +++ b/src/components/Timeline/Notifications.tsx @@ -1,6 +1,3 @@ -import menuInstance from '@components/contextMenu/instance' -import menuShare from '@components/contextMenu/share' -import menuStatus from '@components/contextMenu/status' import TimelineActioned from '@components/Timeline/Shared/Actioned' import TimelineActions from '@components/Timeline/Shared/Actions' import TimelineAttachment from '@components/Timeline/Shared/Attachment' @@ -18,9 +15,8 @@ import { usePreferencesQuery } from '@utils/queryHooks/preferences' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' -import React, { Fragment, useState } from 'react' +import React, { useState } from 'react' import { Pressable, View } from 'react-native' -import * as ContextMenu from 'zeego/context-menu' import StatusContext from './Shared/Context' import TimelineFiltered, { FilteredProps, shouldFilter } from './Shared/Filtered' import TimelineFullConversation from './Shared/FullConversation' @@ -100,14 +96,6 @@ const TimelineNotifications: React.FC = ({ notification, queryKey }) => { ) } - const mShare = menuShare({ - visibility: notification.status?.visibility, - type: 'status', - url: notification.status?.url || notification.status?.uri - }) - const mStatus = menuStatus({ status: notification.status, queryKey }) - const mInstance = menuInstance({ status: notification.status, queryKey }) - if (!isMyAccount) { let filterResults: FilteredProps['filterResults'] = [] const [filterRevealed, setFilterRevealed] = useState(false) @@ -143,67 +131,18 @@ const TimelineNotifications: React.FC = ({ notification, queryKey }) => { spoilerHidden }} > - - - - notification.status && - navigation.push('Tab-Shared-Toot', { toot: notification.status }) - } - onLongPress={() => {}} - children={main()} - /> - - - - {[mShare, mStatus, mInstance].map((menu, i) => ( - - {menu.map((group, index) => ( - - {group.map(item => { - switch (item.type) { - case 'item': - return ( - - - {item.icon ? : null} - - ) - case 'sub': - return ( - // @ts-ignore - - - - {item.trigger.icon ? ( - - ) : null} - - - {item.items.map(sub => ( - - - {sub.icon ? ( - - ) : null} - - ))} - - - ) - } - })} - - ))} - - ))} - - + + notification.status && navigation.push('Tab-Shared-Toot', { toot: notification.status }) + } + onLongPress={() => {}} + children={main()} + /> ) diff --git a/src/components/Timeline/Shared/HeaderDefault.tsx b/src/components/Timeline/Shared/HeaderDefault.tsx index 33b9235c..a4b58d56 100644 --- a/src/components/Timeline/Shared/HeaderDefault.tsx +++ b/src/components/Timeline/Shared/HeaderDefault.tsx @@ -1,4 +1,5 @@ import menuAccount from '@components/contextMenu/account' +import menuInstance from '@components/contextMenu/instance' import menuShare from '@components/contextMenu/share' import menuStatus from '@components/contextMenu/status' import Icon from '@components/Icon' @@ -17,7 +18,8 @@ import HeaderSharedReplies from './HeaderShared/Replies' import HeaderSharedVisibility from './HeaderShared/Visibility' const TimelineHeaderDefault: React.FC = () => { - const { queryKey, status, disableDetails, rawContent, isRemote } = useContext(StatusContext) + const { queryKey, status, disableDetails, rawContent, isRemote, highlighted } = + useContext(StatusContext) if (!status) return null const { colors } = useTheme() @@ -37,6 +39,7 @@ const TimelineHeaderDefault: React.FC = () => { ...(status && { status }) }) const mStatus = menuStatus({ status, queryKey }) + const mInstance = highlighted ? menuInstance({ status, queryKey }) : [] return ( @@ -87,7 +90,7 @@ const TimelineHeaderDefault: React.FC = () => { - {[mShare, mAccount, mStatus].map((menu, i) => ( + {[mShare, mAccount, mStatus, mInstance].map((menu, i) => ( {menu.map((group, index) => (