diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-08-21 21:26:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-21 15:26:25 -0500 |
commit | 56ab5e177fa2b24d0e5d9d969aa37532b96128da (patch) | |
tree | 2fa3db0ef9e46474aac00d5a593c5e5d592da9e3 /src/Navigation.tsx | |
parent | ddb0b80017c2b5bc158b8ff9da222abd5a8bf025 (diff) | |
download | voidsky-56ab5e177fa2b24d0e5d9d969aa37532b96128da.tar.zst |
Show quote posts (#4865)
* show quote posts * fix filter * fix keyExtractor * move likedby and repostedby to new file structure * use modern list component * remove relative imports * update quotes count after quoting * call `onPost` after updating quote count * Revert "update quotes count after quoting" This reverts commit 1f1887730a210c57c1e5a0eb0f47c42c42cf1b4b. * implement * update like count in quotes list * only add `onPostReply` where needed * Filter quotes with detached embeds * Bump SDK * Don't show error for no results --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Eric Bailey <git@esb.lol>
Diffstat (limited to 'src/Navigation.tsx')
-rw-r--r-- | src/Navigation.tsx | 124 |
1 files changed, 66 insertions, 58 deletions
diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 79856879c..960e66bba 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -15,10 +15,12 @@ import { StackActions, } from '@react-navigation/native' -import {timeout} from 'lib/async/timeout' -import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle' -import {usePalette} from 'lib/hooks/usePalette' -import {buildStateObject} from 'lib/routes/helpers' +import {init as initAnalytics} from '#/lib/analytics/analytics' +import {timeout} from '#/lib/async/timeout' +import {useColorSchemeStyle} from '#/lib/hooks/useColorSchemeStyle' +import {usePalette} from '#/lib/hooks/usePalette' +import {useWebScrollRestoration} from '#/lib/hooks/useWebScrollRestoration' +import {buildStateObject} from '#/lib/routes/helpers' import { AllNavigatorParams, BottomTabNavigatorParams, @@ -28,20 +30,62 @@ import { MyProfileTabNavigatorParams, NotificationsTabNavigatorParams, SearchTabNavigatorParams, -} from 'lib/routes/types' -import {RouteParams, State} from 'lib/routes/types' -import {bskyTitle} from 'lib/strings/headings' -import {isAndroid, isNative, isWeb} from 'platform/detection' +} from '#/lib/routes/types' +import {RouteParams, State} from '#/lib/routes/types' +import {attachRouteToLogEvents, logEvent} from '#/lib/statsig/statsig' +import {bskyTitle} from '#/lib/strings/headings' +import {isAndroid, isNative, isWeb} from '#/platform/detection' +import {useModalControls} from '#/state/modals' +import {useUnreadNotifications} from '#/state/queries/notifications/unread' +import {useSession} from '#/state/session' +import { + shouldRequestEmailConfirmation, + snoozeEmailConfirmationPrompt, +} from '#/state/shell/reminders' +import {AccessibilitySettingsScreen} from '#/view/screens/AccessibilitySettings' +import {AppPasswords} from '#/view/screens/AppPasswords' +import {CommunityGuidelinesScreen} from '#/view/screens/CommunityGuidelines' +import {CopyrightPolicyScreen} from '#/view/screens/CopyrightPolicy' +import {DebugModScreen} from '#/view/screens/DebugMod' +import {FeedsScreen} from '#/view/screens/Feeds' +import {HomeScreen} from '#/view/screens/Home' +import {LanguageSettingsScreen} from '#/view/screens/LanguageSettings' +import {ListsScreen} from '#/view/screens/Lists' +import {LogScreen} from '#/view/screens/Log' +import {ModerationBlockedAccounts} from '#/view/screens/ModerationBlockedAccounts' +import {ModerationModlistsScreen} from '#/view/screens/ModerationModlists' +import {ModerationMutedAccounts} from '#/view/screens/ModerationMutedAccounts' +import {NotFoundScreen} from '#/view/screens/NotFound' +import {NotificationsScreen} from '#/view/screens/Notifications' +import {NotificationsSettingsScreen} from '#/view/screens/NotificationsSettings' +import {PostThreadScreen} from '#/view/screens/PostThread' import {PreferencesExternalEmbeds} from '#/view/screens/PreferencesExternalEmbeds' -import {AppPasswords} from 'view/screens/AppPasswords' -import {ModerationBlockedAccounts} from 'view/screens/ModerationBlockedAccounts' -import {ModerationMutedAccounts} from 'view/screens/ModerationMutedAccounts' -import {PreferencesFollowingFeed} from 'view/screens/PreferencesFollowingFeed' -import {PreferencesThreads} from 'view/screens/PreferencesThreads' -import {SavedFeeds} from 'view/screens/SavedFeeds' +import {PreferencesFollowingFeed} from '#/view/screens/PreferencesFollowingFeed' +import {PreferencesThreads} from '#/view/screens/PreferencesThreads' +import {PrivacyPolicyScreen} from '#/view/screens/PrivacyPolicy' +import {ProfileScreen} from '#/view/screens/Profile' +import {ProfileFeedScreen} from '#/view/screens/ProfileFeed' +import {ProfileFeedLikedByScreen} from '#/view/screens/ProfileFeedLikedBy' +import {ProfileFollowersScreen} from '#/view/screens/ProfileFollowers' +import {ProfileFollowsScreen} from '#/view/screens/ProfileFollows' +import {ProfileListScreen} from '#/view/screens/ProfileList' +import {SavedFeeds} from '#/view/screens/SavedFeeds' +import {SearchScreen} from '#/view/screens/Search' +import {SettingsScreen} from '#/view/screens/Settings' +import {Storybook} from '#/view/screens/Storybook' +import {SupportScreen} from '#/view/screens/Support' +import {TermsOfServiceScreen} from '#/view/screens/TermsOfService' +import {BottomBar} from '#/view/shell/bottom-bar/BottomBar' +import {createNativeStackNavigatorWithAuth} from '#/view/shell/createNativeStackNavigatorWithAuth' import {SharedPreferencesTesterScreen} from '#/screens/E2E/SharedPreferencesTesterScreen' import HashtagScreen from '#/screens/Hashtag' +import {MessagesConversationScreen} from '#/screens/Messages/Conversation' +import {MessagesScreen} from '#/screens/Messages/List' +import {MessagesSettingsScreen} from '#/screens/Messages/Settings' import {ModerationScreen} from '#/screens/Moderation' +import {PostLikedByScreen} from '#/screens/Post/PostLikedBy' +import {PostQuotesScreen} from '#/screens/Post/PostQuotes' +import {PostRepostedByScreen} from '#/screens/Post/PostRepostedBy' import {ProfileKnownFollowersScreen} from '#/screens/Profile/KnownFollowers' import {ProfileLabelerLikedByScreen} from '#/screens/Profile/ProfileLabelerLikedBy' import {AppearanceSettingsScreen} from '#/screens/Settings/AppearanceSettings' @@ -50,51 +94,8 @@ import { StarterPackScreenShort, } from '#/screens/StarterPack/StarterPackScreen' import {Wizard} from '#/screens/StarterPack/Wizard' +import {router} from '#/routes' import {Referrer} from '../modules/expo-bluesky-swiss-army' -import {init as initAnalytics} from './lib/analytics/analytics' -import {useWebScrollRestoration} from './lib/hooks/useWebScrollRestoration' -import {attachRouteToLogEvents, logEvent} from './lib/statsig/statsig' -import {router} from './routes' -import {MessagesConversationScreen} from './screens/Messages/Conversation' -import {MessagesScreen} from './screens/Messages/List' -import {MessagesSettingsScreen} from './screens/Messages/Settings' -import {useModalControls} from './state/modals' -import {useUnreadNotifications} from './state/queries/notifications/unread' -import {useSession} from './state/session' -import { - shouldRequestEmailConfirmation, - snoozeEmailConfirmationPrompt, -} from './state/shell/reminders' -import {AccessibilitySettingsScreen} from './view/screens/AccessibilitySettings' -import {CommunityGuidelinesScreen} from './view/screens/CommunityGuidelines' -import {CopyrightPolicyScreen} from './view/screens/CopyrightPolicy' -import {DebugModScreen} from './view/screens/DebugMod' -import {FeedsScreen} from './view/screens/Feeds' -import {HomeScreen} from './view/screens/Home' -import {LanguageSettingsScreen} from './view/screens/LanguageSettings' -import {ListsScreen} from './view/screens/Lists' -import {LogScreen} from './view/screens/Log' -import {ModerationModlistsScreen} from './view/screens/ModerationModlists' -import {NotFoundScreen} from './view/screens/NotFound' -import {NotificationsScreen} from './view/screens/Notifications' -import {NotificationsSettingsScreen} from './view/screens/NotificationsSettings' -import {PostLikedByScreen} from './view/screens/PostLikedBy' -import {PostRepostedByScreen} from './view/screens/PostRepostedBy' -import {PostThreadScreen} from './view/screens/PostThread' -import {PrivacyPolicyScreen} from './view/screens/PrivacyPolicy' -import {ProfileScreen} from './view/screens/Profile' -import {ProfileFeedScreen} from './view/screens/ProfileFeed' -import {ProfileFeedLikedByScreen} from './view/screens/ProfileFeedLikedBy' -import {ProfileFollowersScreen} from './view/screens/ProfileFollowers' -import {ProfileFollowsScreen} from './view/screens/ProfileFollows' -import {ProfileListScreen} from './view/screens/ProfileList' -import {SearchScreen} from './view/screens/Search' -import {SettingsScreen} from './view/screens/Settings' -import {Storybook} from './view/screens/Storybook' -import {SupportScreen} from './view/screens/Support' -import {TermsOfServiceScreen} from './view/screens/TermsOfService' -import {BottomBar} from './view/shell/bottom-bar/BottomBar' -import {createNativeStackNavigatorWithAuth} from './view/shell/createNativeStackNavigatorWithAuth' const navigationRef = createNavigationContainerRef<AllNavigatorParams>() @@ -213,6 +214,13 @@ function commonScreens(Stack: typeof HomeTab, unreadCountLabel?: string) { })} /> <Stack.Screen + name="PostQuotes" + getComponent={() => PostQuotesScreen} + options={({route}) => ({ + title: title(msg`Post by @${route.params.name}`), + })} + /> + <Stack.Screen name="ProfileFeed" getComponent={() => ProfileFeedScreen} options={{title: title(msg`Feed`)}} |