diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 130fd29..b9ae8e8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -50,6 +50,7 @@ dependencies { implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) + implementation(libs.androidx.navigation.compose) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) diff --git a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt index 107004a..ebe1f36 100644 --- a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt +++ b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt @@ -3,48 +3,50 @@ package com.f1rq.lifemap import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp import androidx.compose.ui.tooling.preview.Preview +import androidx.navigation.compose.rememberNavController import com.f1rq.lifemap.ui.theme.LifeMapTheme import com.f1rq.lifemap.navigationbar.NavigationBar class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - enableEdgeToEdge() setContent { - LifeMapTheme { - Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> - NavigationBar( - modifier = Modifier - .fillMaxSize() - ) + LifeMapTheme() { + val navController = rememberNavController() + + Scaffold( + bottomBar = { + NavigationBar() + } + ) { innerPadding -> + NavHost( + navController = navController, + startDestination = "home" + ) { + composable("home") { HomeScreen(Modifier.padding(innerPadding)) } + composable("settings") { SettingsScreen(Modifier.padding(innerPadding)) } + } } } } } } -@Composable -fun Greeting(name: String, modifier: Modifier = Modifier) { - Text( - text = "Hello $name!", - modifier = modifier - ) -} - @Preview(showBackground = true) @Composable fun GreetingPreview() { - LifeMapTheme { - NavigationBar( - modifier = Modifier.fillMaxSize() - ) + LifeMapTheme() { + NavigationBar() } } \ No newline at end of file diff --git a/app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt new file mode 100644 index 0000000..5fe5508 --- /dev/null +++ b/app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt @@ -0,0 +1,18 @@ +package com.f1rq.lifemap.screens + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier + +@Composable +fun HomeScreen() { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { + Text("Home Screen") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt new file mode 100644 index 0000000..e466593 --- /dev/null +++ b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt @@ -0,0 +1,18 @@ +package com.f1rq.lifemap.screens + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier + +@Composable +fun SettingsScreen() { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { + Text("Settings Screen") + } +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5747e4c..7b7b95a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,6 +8,7 @@ espressoCore = "3.5.1" lifecycleRuntimeKtx = "2.6.1" activityCompose = "1.8.0" composeBom = "2024.09.00" +navigationCompose = "2.8.9" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -24,6 +25,7 @@ androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-toolin androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-material3 = { group = "androidx.compose.material3", name = "material3" } +androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" }