Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
119
fork

Configure Feed

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

at a876aae44ea07494ebea9727350aa060b81f317b 163 lines 5.2 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 RunesSettings: undefined 54 AccountSettings: undefined 55 AutomationLabelSettings: undefined 56 PetLabelSettings: undefined 57 PrivacyAndSecuritySettings: undefined 58 ActivityPrivacySettings: undefined 59 ContentAndMediaSettings: undefined 60 NotificationSettings: undefined 61 ReplyNotificationSettings: undefined 62 MentionNotificationSettings: undefined 63 QuoteNotificationSettings: undefined 64 LikeNotificationSettings: undefined 65 RepostNotificationSettings: undefined 66 NewFollowerNotificationSettings: undefined 67 LikesOnRepostsNotificationSettings: undefined 68 RepostsOnRepostsNotificationSettings: undefined 69 ActivityNotificationSettings: undefined 70 MiscellaneousNotificationSettings: undefined 71 InterestsSettings: undefined 72 AboutSettings: undefined 73 AppIconSettings: undefined 74 FindContactsSettings: undefined 75 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 76 Hashtag: {tag: string; author?: string} 77 Topic: {topic: string} 78 MessagesConversation: {conversation: string; embed?: string; accept?: true} 79 MessagesConversationSettings: {conversation: string} 80 MessagesSettings: undefined 81 MessagesInbox: undefined 82 NotificationsActivityList: {posts: string} 83 LegacyNotificationSettings: undefined 84 Feeds: undefined 85 Start: {name: string; rkey: string} 86 StarterPack: {name: string; rkey: string; new?: boolean} 87 StarterPackShort: {code: string} 88 StarterPackWizard: { 89 fromDialog?: boolean 90 targetDid?: string 91 onSuccess?: () => void 92 } 93 StarterPackEdit: {rkey?: string} 94 VideoFeed: VideoFeedSourceContext 95 Bookmarks: undefined 96 FindContactsFlow: undefined 97} 98 99export type BottomTabNavigatorParams = CommonNavigatorParams & { 100 HomeTab: undefined 101 SearchTab: undefined 102 NotificationsTab: undefined 103 MyProfileTab: undefined 104 MessagesTab: undefined 105} 106 107export type HomeTabNavigatorParams = CommonNavigatorParams & { 108 Home: undefined 109} 110 111export type SearchTabNavigatorParams = CommonNavigatorParams & { 112 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 113} 114 115export type NotificationsTabNavigatorParams = CommonNavigatorParams & { 116 Notifications: undefined 117} 118 119export type MyProfileTabNavigatorParams = CommonNavigatorParams & { 120 MyProfile: {name: 'me'; hideBackButton: true} 121} 122 123export type MessagesTabNavigatorParams = CommonNavigatorParams & { 124 Messages: {pushToConversation?: string; animation?: 'push' | 'pop'} 125} 126 127export type FlatNavigatorParams = CommonNavigatorParams & { 128 Home: undefined 129 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 130 Feeds: undefined 131 Notifications: undefined 132 Messages: {pushToConversation?: string; animation?: 'push' | 'pop'} 133} 134 135export type AllNavigatorParams = CommonNavigatorParams & { 136 HomeTab: undefined 137 Home: undefined 138 SearchTab: undefined 139 Search: {q?: string; tab?: 'user' | 'profile' | 'feed'} 140 Feeds: undefined 141 NotificationsTab: undefined 142 Notifications: undefined 143 MyProfileTab: undefined 144 MessagesTab: undefined 145 Messages: {animation?: 'push' | 'pop'} 146} 147 148// NOTE 149// this isn't strictly correct but it should be close enough 150// a TS wizard might be able to get this 100% 151// -prf 152export type NavigationProp = NativeStackNavigationProp<AllNavigatorParams> 153 154export type State = 155 | NavigationState 156 | Omit<PartialState<NavigationState>, 'stale'> 157 158export type RouteParams = Record<string, string> 159export type MatchResult = {params: RouteParams} 160export type Route = { 161 match: (path: string) => MatchResult | undefined 162 build: (params?: Record<string, any>) => string 163}