diff --git a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
index ebe1f36..0997da2 100644
--- a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
+++ b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
@@ -3,39 +3,36 @@ package com.f1rq.lifemap
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
-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.NavHost
+import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
-import com.f1rq.lifemap.ui.theme.LifeMapTheme
import com.f1rq.lifemap.navigationbar.NavigationBar
+import com.f1rq.lifemap.screens.ListView
+import com.f1rq.lifemap.screens.MapView
+import com.f1rq.lifemap.ui.theme.LifeMapTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
- LifeMapTheme() {
+ LifeMapTheme {
val navController = rememberNavController()
Scaffold(
- bottomBar = {
- NavigationBar()
- }
+ bottomBar = { NavigationBar(navController) }
) { innerPadding ->
NavHost(
navController = navController,
- startDestination = "home"
+ startDestination = "mapview",
+ modifier = Modifier.padding(innerPadding)
) {
- composable("home") { HomeScreen(Modifier.padding(innerPadding)) }
- composable("settings") { SettingsScreen(Modifier.padding(innerPadding)) }
+ composable("mapview") { MapView(Modifier) }
+ composable("listview") { ListView(Modifier) }
}
}
}
@@ -46,7 +43,8 @@ class MainActivity : ComponentActivity() {
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
- LifeMapTheme() {
- NavigationBar()
+ LifeMapTheme {
+ val previewNavController = rememberNavController()
+ NavigationBar(navController = previewNavController)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/f1rq/lifemap/NavBarHandler.kt b/app/src/main/java/com/f1rq/lifemap/NavBarHandler.kt
new file mode 100644
index 0000000..4d0140c
--- /dev/null
+++ b/app/src/main/java/com/f1rq/lifemap/NavBarHandler.kt
@@ -0,0 +1,32 @@
+package com.f1rq.lifemap
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.navigation.NavHostController
+import com.f1rq.lifemap.navigationbar.NavigationBar
+import androidx.navigation.compose.currentBackStackEntryAsState
+import androidx.compose.runtime.getValue
+
+
+@Composable
+fun NavBarHandler(navController: NavHostController) {
+ val currentRoute = currentRoute(navController)
+
+ NavigationBar(
+ modifier = Modifier,
+ onWorldViewTapped = {
+ if (currentRoute != "mapview") navController.navigate("mapview")
+ },
+ onListViewTapped = {
+ if (currentRoute != "listview") navController.navigate("listview")
+ },
+ //homeState = if (currentRoute == "home") "active" else "inactive",
+ //settingsState = if (currentRoute == "settings") "active" else "inactive",
+ )
+}
+
+@Composable
+private fun currentRoute(navController: NavHostController): String? {
+ val navBackStackEntry by navController.currentBackStackEntryAsState()
+ return navBackStackEntry?.destination?.route
+}
\ 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/ListView.kt
similarity index 90%
rename from app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt
rename to app/src/main/java/com/f1rq/lifemap/screens/ListView.kt
index e466593..44b2b45 100644
--- a/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt
+++ b/app/src/main/java/com/f1rq/lifemap/screens/ListView.kt
@@ -8,7 +8,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@Composable
-fun SettingsScreen() {
+fun ListView(modifier: Modifier = Modifier) {
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
diff --git a/app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
similarity index 90%
rename from app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt
rename to app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
index 5fe5508..faa18eb 100644
--- a/app/src/main/java/com/f1rq/lifemap/screens/HomeScreen.kt
+++ b/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
@@ -8,7 +8,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@Composable
-fun HomeScreen() {
+fun MapView(modifier: Modifier = Modifier) {
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
diff --git a/app/src/main/ui-packages/navigation_bar/navigation_bar.json b/app/src/main/ui-packages/navigation_bar/navigation_bar.json
index 0763657..2ea1775 100644
--- a/app/src/main/ui-packages/navigation_bar/navigation_bar.json
+++ b/app/src/main/ui-packages/navigation_bar/navigation_bar.json
@@ -5,7 +5,7 @@
"type": "figma",
"file": "7RzB5mC9Qj82hGEbAM11GM",
"node": "38:3",
- "version": "2201697548108180498",
+ "version": "2204970891916878617",
"component-id": "915162a5cdf4f7f91ace42d239b4d1faf0d5c6e7"
},
"default": "Navigation bar",
@@ -96,6 +96,7 @@
"top": 12.0,
"bottom": 16.0
},
+ "tap-handler": "$on world view tapped",
"size-constraints": {
"width-constraints": {
"sizing-mode": "proportional",
@@ -109,6 +110,7 @@
"icon-container"
],
"item-spacing": 4.0,
+ "background-color": "$world view background color",
"clip-content": false
},
{
@@ -117,6 +119,7 @@
"top": 12.0,
"bottom": 16.0
},
+ "tap-handler": "$on list view tapped",
"size-constraints": {
"width-constraints": {
"sizing-mode": "proportional",
@@ -130,6 +133,7 @@
"icon-container1"
],
"item-spacing": 4.0,
+ "background-color": "$list view background color",
"clip-content": false
},
{
@@ -175,6 +179,12 @@
"children": [
"Frame"
],
+ "background-color": {
+ "alpha": 1.0,
+ "hue": 0.0,
+ "saturation": 0.0,
+ "value": 0.8666666666666667
+ },
"clip-content": false
},
{
@@ -289,6 +299,28 @@
}
}
},
+ "parameters": {
+ "world view background color": {
+ "data-type": "color",
+ "required": false,
+ "description": ""
+ },
+ "on world view tapped": {
+ "data-type": "void-callback",
+ "required": false,
+ "description": ""
+ },
+ "list view background color": {
+ "data-type": "color",
+ "required": false,
+ "description": ""
+ },
+ "on list view tapped": {
+ "data-type": "void-callback",
+ "required": false,
+ "description": ""
+ }
+ },
"previews": [
{
"design": "Navigation bar",
diff --git a/app/src/main/ui-packages/navigation_bar/navigation_bar_preview.png b/app/src/main/ui-packages/navigation_bar/navigation_bar_preview.png
index 8490bb6..6ffa785 100644
Binary files a/app/src/main/ui-packages/navigation_bar/navigation_bar_preview.png and b/app/src/main/ui-packages/navigation_bar/navigation_bar_preview.png differ
diff --git a/app/src/main/ui-packages/navigation_bar/vector.svg b/app/src/main/ui-packages/navigation_bar/vector.svg
index 37019c9..cc73ebd 100644
--- a/app/src/main/ui-packages/navigation_bar/vector.svg
+++ b/app/src/main/ui-packages/navigation_bar/vector.svg
@@ -1 +1,3 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/ui-packages/navigation_bar/vector1.svg b/app/src/main/ui-packages/navigation_bar/vector1.svg
index 3045b34..4c4782e 100644
--- a/app/src/main/ui-packages/navigation_bar/vector1.svg
+++ b/app/src/main/ui-packages/navigation_bar/vector1.svg
@@ -1 +1,3 @@
-
\ No newline at end of file
+