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

Configure Feed

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

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