Bluesky app fork with some witchin' additions 馃挮
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 6d68a5bd212dd4eeee816828ffe4e27601cdd7f3 158 lines 5.1 kB view raw
1import {type NavigationState, type PartialState} from '@react-navigation/native' 2import {type NativeStackNavigationProp} from '@react-navigation/native-stack' 3 4import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types' 5 6export type {NativeStackScreenProps} from '@react-navigation/native-stack' 7 8export type CommonNavigatorParams = { 9 NotFound: undefined 10 Lists: undefined 11 Moderation: undefined 12 ModerationModlists: undefined 13 ModerationMutedAccounts: undefined 14 ModerationBlockedAccounts: undefined 15 ModerationInteractionSettings: undefined 16 ModerationVerificationSettings: undefined 17 Settings: undefined 18 Profile: {name: string; hideBackButton?: boolean} 19 ProfileFollowers: {name: string} 20 ProfileFollows: {name: string} 21 ProfileKnownFollowers: {name: string} 22 ProfileSearch: {name: string; q?: string} 23 ProfileList: {name: string; rkey: string} 24 PostThread: {name: string; rkey: string} 25 PostLikedBy: {name: string; rkey: string} 26 PostRepostedBy: {name: string; rkey: string} 27 PostQuotes: {name: string; rkey: string} 28 ProfileFeed: { 29 name: string 30 rkey: string 31 feedCacheKey?: 'discover' | 'explore' | undefined 32 } 33 ProfileFeedLikedBy: {name: string; rkey: string} 34 ProfileLabelerLikedBy: {name: string} 35 Debug: undefined 36 DebugMod: undefined 37 SharedPreferencesTester: undefined 38 Log: undefined 39 Support: undefined 40 PrivacyPolicy: undefined 41 TermsOfService: undefined 42 CommunityGuidelines: undefined 43 CopyrightPolicy: undefined 44 LanguageSettings: undefined 45 AppPasswords: undefined 46 SavedFeeds: undefined 47 PreferencesFollowingFeed: undefined 48 PreferencesThreads: undefined 49 PreferencesExternalEmbeds: undefined 50 AccessibilitySettings: undefined 51 AppearanceSettings: undefined 52 AccountSettings: undefined 53 PrivacyAndSecuritySettings: undefined 54 ActivityPrivacySettings: undefined 55 ContentAndMediaSettings: undefined 56 NotificationSettings: undefined 57 ReplyNotificationSettings: undefined 58 MentionNotificationSettings: undefined 59 QuoteNotificationSettings: undefined 60 LikeNotificationSettings: undefined 61 RepostNotificationSettings: undefined 62 NewFollowerNotificationSettings: undefined 63 LikesOnRepostsNotificationSettings: undefined 64 RepostsOnRepostsNotificationSettings: undefined 65 ActivityNotificationSettings: undefined 66 MiscellaneousNotificationSettings: undefined 67 InterestsSettings: undefined 68 AboutSettings: undefined 69 AppIconSettings: undefined 70 FindContactsSettings: undefined 71 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 72 Hashtag: {tag: string; author?: string} 73 Topic: {topic: string} 74 MessagesConversation: {conversation: string; embed?: string; accept?: true} 75 MessagesSettings: undefined 76 MessagesInbox: undefined 77 NotificationsActivityList: {posts: string} 78 LegacyNotificationSettings: undefined 79 Feeds: undefined 80 Start: {name: string; rkey: string} 81 StarterPack: {name: string; rkey: string; new?: boolean} 82 StarterPackShort: {code: string} 83 StarterPackWizard: { 84 fromDialog?: boolean 85 targetDid?: string 86 onSuccess?: () => void 87 } 88 StarterPackEdit: {rkey?: string} 89 VideoFeed: VideoFeedSourceContext 90 Bookmarks: undefined 91 FindContactsFlow: undefined 92} 93 94export type BottomTabNavigatorParams = CommonNavigatorParams & { 95 HomeTab: undefined 96 SearchTab: undefined 97 NotificationsTab: undefined 98 MyProfileTab: undefined 99 MessagesTab: undefined 100} 101 102export type HomeTabNavigatorParams = CommonNavigatorParams & { 103 Home: undefined 104} 105 106export type SearchTabNavigatorParams = CommonNavigatorParams & { 107 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 108} 109 110export type NotificationsTabNavigatorParams = CommonNavigatorParams & { 111 Notifications: undefined 112} 113 114export type MyProfileTabNavigatorParams = CommonNavigatorParams & { 115 MyProfile: {name: 'me'; hideBackButton: true} 116} 117 118export type MessagesTabNavigatorParams = CommonNavigatorParams & { 119 Messages: {pushToConversation?: string; animation?: 'push' | 'pop'} 120} 121 122export type FlatNavigatorParams = CommonNavigatorParams & { 123 Home: undefined 124 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 125 Feeds: undefined 126 Notifications: undefined 127 Messages: {pushToConversation?: string; animation?: 'push' | 'pop'} 128} 129 130export type AllNavigatorParams = CommonNavigatorParams & { 131 HomeTab: undefined 132 Home: undefined 133 SearchTab: undefined 134 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 135 Feeds: undefined 136 NotificationsTab: undefined 137 Notifications: undefined 138 MyProfileTab: undefined 139 MessagesTab: undefined 140 Messages: {animation?: 'push' | 'pop'} 141} 142 143// NOTE 144// this isn't strictly correct but it should be close enough 145// a TS wizard might be able to get this 100% 146// -prf 147export type NavigationProp = NativeStackNavigationProp<AllNavigatorParams> 148 149export type State = 150 | NavigationState 151 | Omit<PartialState<NavigationState>, 'stale'> 152 153export type RouteParams = Record<string, string> 154export type MatchResult = {params: RouteParams} 155export type Route = { 156 match: (path: string) => MatchResult | undefined 157 build: (params?: Record<string, any>) => string 158}