-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainNavHost.kt
More file actions
110 lines (98 loc) · 4.44 KB
/
Copy pathMainNavHost.kt
File metadata and controls
110 lines (98 loc) · 4.44 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.flint.presentation.main
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
import com.flint.core.designsystem.theme.FlintTheme
import com.flint.presentation.collectioncreate.navigation.collectionCreateNavGraph
import com.flint.presentation.collectiondetail.navigation.collectionDetailNavGraph
import com.flint.presentation.collectionlist.navigation.collectionListNavGraph
import com.flint.presentation.explore.navigation.exploreNavGraph
import com.flint.presentation.home.navigation.homeNavGraph
import com.flint.presentation.login.navigation.loginNavGraph
import com.flint.presentation.onboarding.navigation.onBoardingNavGraph
import com.flint.presentation.profile.navigation.myProfileNavGraph
import com.flint.presentation.profile.navigation.profileNavGraph
import com.flint.presentation.savedcontent.navigation.savedContentListNavGraph
import com.flint.presentation.splash.navigation.splashNavGraph
@Composable
fun MainNavHost(
navigator: MainNavigator,
paddingValues: PaddingValues,
modifier: Modifier = Modifier,
) {
Box(
modifier =
modifier
.fillMaxSize()
.background(color = FlintTheme.colors.background),
) {
NavHost(
navController = navigator.navController,
startDestination = navigator.startDestination,
) {
splashNavGraph(
paddingValues = paddingValues,
navigateToLogin = navigator::navigateToLogin,
navigateToHome = navigator::navigateToHome,
)
loginNavGraph(
paddingValues = paddingValues,
navigateToOnBoarding = navigator::navigateToOnBoarding,
navigateToHome = navigator::navigateToHome,
)
onBoardingNavGraph(
paddingValues = paddingValues,
navigateToHome = navigator::navigateToHome,
navController = navigator.navController,
)
homeNavGraph(
paddingValues = paddingValues,
navigateToCollectionList = navigator::navigateToCollectionList,
navigateToCollectionDetail = navigator::navigateToCollectionDetail,
navigateToCollectionCreate = navigator::navigateToCollectionCreate,
navigateToExplore = { navigator.navigate(MainTab.EXPLORE) },
)
collectionListNavGraph(
paddingValues = paddingValues,
navigateUp = navigator::navigateUp,
navigateToCollectionDetail = navigator::navigateToCollectionDetail,
navigateToCollectionList = navigator::navigateToCollectionList,
)
collectionDetailNavGraph(
paddingValues = paddingValues,
navigateToCollectionList = navigator::navigateToCollectionList,
navigateUp = navigator::navigateUp,
navigateToProfile = navigator::navigateToProfile
)
collectionCreateNavGraph(
paddingValues = paddingValues,
navController = navigator.navController,
)
savedContentListNavGraph(
paddingValues = paddingValues,
)
exploreNavGraph(
paddingValues = paddingValues,
navigateToCollectionDetail = navigator::navigateToCollectionDetail,
navigateToCollectionCreate = navigator::navigateToCollectionCreate,
)
myProfileNavGraph(
paddingValues = paddingValues,
navigateToCollectionList = navigator::navigateToCollectionList,
navigateToSavedContentList = navigator::navigateToSavedContent,
navigateToCollectionDetail = navigator::navigateToCollectionDetail,
)
profileNavGraph(
paddingValues = paddingValues,
navigateUp = navigator::navigateUp,
navigateToCollectionList = navigator::navigateToCollectionList,
navigateToSavedContentList = navigator::navigateToSavedContent,
navigateToCollectionDetail = navigator::navigateToCollectionDetail,
)
}
}
}