-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.tsx
49 lines (43 loc) · 1.55 KB
/
types.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* Learn more about using TypeScript with React Navigation:
* https://reactnavigation.org/docs/typescript/
*/
import { BottomTabScreenProps } from '@react-navigation/bottom-tabs'
import { CompositeScreenProps, NavigatorScreenParams } from '@react-navigation/native'
import { NativeStackScreenProps } from '@react-navigation/native-stack'
import { IUser, NonAuthUser } from './types/auth'
import { SongItem } from './types/spotify'
declare global {
namespace ReactNavigation {
interface RootParamList extends RootStackParamList { }
}
}
export type RootStackParamList = {
// Root: NavigatorScreenParams<RootTabParamList> | undefined
AddPlaylistModal: undefined
NotFound: undefined
Login: undefined
TopSongs: undefined
TopArtists: undefined
Soundcheck: undefined
Create: undefined
Join: undefined
Home: undefined
Profile: undefined
Search: undefined
AddNonAuthPlayerModal: undefined
PlayerGuessDetails: { user: IUser, songs: {song: SongItem, player: IUser}[]}
Room: { roomCode: string, songsPerUser: number | undefined, timeRange: string | undefined, createRoom: boolean, nonAuthUser: NonAuthUser | undefined }
}
export type RootStackScreenProps<Screen extends keyof RootStackParamList> = NativeStackScreenProps<
RootStackParamList,
Screen
>
// export type RootTabParamList = {
// TabOne: undefined
// TabTwo: undefined
// }
// export type RootTabScreenProps<Screen extends keyof RootTabParamList> = CompositeScreenProps<
// BottomTabScreenProps<RootTabParamList, Screen>,
// NativeStackScreenProps<RootStackParamList>
// >