@@ -6,47 +6,50 @@ import androidx.navigation.*
6
6
import androidx.navigation.compose.*
7
7
import co.nimblehq.compose.crypto.R
8
8
import co.nimblehq.compose.crypto.ui.common.AppDialogPopUp
9
+ import co.nimblehq.compose.crypto.ui.common.DialogActionModel
9
10
import co.nimblehq.compose.crypto.ui.screens.detail.DetailScreen
10
11
import co.nimblehq.compose.crypto.ui.screens.home.HomeScreen
11
12
12
13
@Composable
13
14
fun AppNavigation (
14
15
navController : NavHostController ,
15
16
startDestination : String = AppDestination .Home .destination,
16
- onCallBackChange : (() -> Unit ) -> Unit ,
17
- globalDialogCallback : () -> Unit
18
17
) {
19
18
19
+ var dialogActions: List <DialogActionModel > = emptyList()
20
+
20
21
NavHost (
21
22
navController = navController,
22
23
startDestination = startDestination
23
24
) {
24
25
composable(AppDestination .Home ) {
25
26
HomeScreen (
26
- navigator = { destination -> navController.navigate(destination) }
27
+ navigator = { destination -> navController.navigate(destination) },
28
+ onShowGlobalDialog = { actions ->
29
+ dialogActions = actions
30
+ }
27
31
)
28
32
}
29
33
30
34
composable(AppDestination .CoinDetail ) {
31
35
DetailScreen (
32
36
navigator = { destination -> navController.navigate(destination) },
33
37
coinId = it.arguments?.getString(KEY_COIN_ID ).orEmpty(),
34
- onNetworkReconnected = { callback ->
35
- onCallBackChange(callback)
38
+ onShowGlobalDialog = { actions ->
39
+ dialogActions = actions
36
40
}
37
41
)
38
42
}
39
43
40
44
dialog(AppDestination .NoNetwork .route) {
41
45
AppDialogPopUp (
42
46
onDismiss = { navController.popBackStack() },
43
- onClick = {
47
+ onClickAction = {
44
48
navController.popBackStack()
45
- globalDialogCallback()
46
49
},
47
50
message = stringResource(id = R .string.no_internet_message),
48
- actionText = stringResource(id = android. R .string.ok ),
49
- title = stringResource(id = R .string.no_internet_title)
51
+ title = stringResource(id = R .string.no_internet_title ),
52
+ actions = dialogActions
50
53
)
51
54
}
52
55
}
0 commit comments