Skip to content

Commit addb555

Browse files
committed
Multiplatform - Add navigation
1 parent 06dd7fe commit addb555

File tree

55 files changed

+3226
-3274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+3226
-3274
lines changed

.idea/compiler.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ android {
2828

2929
dependencies {
3030
// Modules
31-
implementation(projects.modules.featureHome)
3231
implementation(projects.modules.featureHomeShared)
3332
implementation(projects.modules.libraryNavigation)
3433
implementation(projects.modules.libraryNetwork)

app/src/main/java/com/jarroyo/composeapp/MainActivity.kt

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,14 @@ package com.jarroyo.composeapp
33
import android.os.Bundle
44
import androidx.activity.ComponentActivity
55
import androidx.activity.compose.setContent
6-
import androidx.compose.foundation.layout.fillMaxSize
7-
import androidx.compose.material3.MaterialTheme
8-
import androidx.compose.material3.Surface
9-
import androidx.compose.runtime.Composable
10-
import androidx.compose.runtime.LaunchedEffect
11-
import androidx.compose.ui.Modifier
12-
import androidx.navigation.compose.rememberNavController
13-
import com.google.accompanist.navigation.material.ExperimentalMaterialNavigationApi
14-
import com.google.accompanist.navigation.material.ModalBottomSheetLayout
15-
import com.google.accompanist.navigation.material.rememberBottomSheetNavigator
16-
import com.jarroyo.composeapp.di.initKoin
17-
import com.jarroyo.composeapp.ui.navigation.NavGraph
186
import com.jarroyo.composeapp.ui.theme.ComposeAppTheme
19-
import com.jarroyo.library.navigation.api.navigator.AppNavigator
20-
import com.jarroyo.library.navigation.api.navigator.NavigatorEvent
7+
import com.jarroyo.feature.home.shared.di.initKoin
8+
import com.jarroyo.feature.home.shared.ui.RootView
219
import dagger.hilt.android.AndroidEntryPoint
22-
import kotlinx.coroutines.flow.launchIn
23-
import kotlinx.coroutines.flow.onEach
2410
import org.koin.android.ext.koin.androidContext
25-
import timber.log.Timber
26-
import javax.inject.Inject
2711

2812
@AndroidEntryPoint
2913
class MainActivity : ComponentActivity() {
30-
@Inject
31-
lateinit var appNavigator: AppNavigator
32-
3314
override fun onCreate(savedInstanceState: Bundle?) {
3415
super.onCreate(savedInstanceState)
3516

@@ -38,42 +19,8 @@ class MainActivity : ComponentActivity() {
3819
}
3920
setContent {
4021
ComposeAppTheme {
41-
MainScreen(appNavigator)
22+
RootView()
4223
}
4324
}
4425
}
4526
}
46-
47-
@OptIn(ExperimentalMaterialNavigationApi::class)
48-
@Composable
49-
private fun MainScreen(
50-
appNavigator: AppNavigator,
51-
) {
52-
val bottomSheetNavigator = rememberBottomSheetNavigator()
53-
val navHostController = rememberNavController(bottomSheetNavigator)
54-
LaunchedEffect(navHostController) {
55-
appNavigator.destinations.onEach { event ->
56-
when (event) {
57-
is NavigatorEvent.Directions -> navHostController.navigate(
58-
event.destination,
59-
event.builder,
60-
).also { Timber.d("Navigate to ${event.destination}") }
61-
is NavigatorEvent.HandleDeepLink -> TODO()
62-
is NavigatorEvent.NavigateBack -> TODO()
63-
is NavigatorEvent.NavigateUp -> TODO()
64-
}
65-
}.launchIn(this)
66-
}
67-
// A surface container using the 'background' color from the theme
68-
Surface(
69-
modifier = Modifier.fillMaxSize(),
70-
color = MaterialTheme.colorScheme.background,
71-
) {
72-
ModalBottomSheetLayout(
73-
bottomSheetNavigator = bottomSheetNavigator,
74-
sheetBackgroundColor = MaterialTheme.colorScheme.background,
75-
) {
76-
NavGraph(navController = navHostController)
77-
}
78-
}
79-
}

app/src/main/java/com/jarroyo/composeapp/ui/navigation/NavGraph.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ import androidx.navigation.NavGraphBuilder
55
import androidx.navigation.NavHostController
66
import androidx.navigation.compose.NavHost
77
import androidx.navigation.compose.composable
8-
import com.jarroyo.feature.home.shared.RootView
9-
import com.jarroyo.feature.home.ui.HomeScreen
10-
import com.jarroyo.feature.home.ui.rocketdetail.RocketDetailScreen
8+
import com.jarroyo.feature.home.shared.ui.RootView
9+
import com.jarroyo.feature.home.shared.ui.rocketdetail.RocketDetailScreen
1110
import com.jarroyo.library.navigation.api.destination.Screens
1211

1312
@Composable

0 commit comments

Comments
 (0)