diff --git a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt index b229687..0e06cfb 100644 --- a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt +++ b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt @@ -73,7 +73,7 @@ class MainActivity : ComponentActivity() { composable("listview") { ListView(Modifier) } composable("settings") { SettingsScreen(navController = navController, Modifier)} composable("notifications") { NotificationsScreen(Modifier)} - composable("settings_notifications") { SettingsNotificationsScreen(Modifier) } + composable("settings_notifications") { SettingsNotificationsScreen(navController = navController, Modifier) } } } } diff --git a/app/src/main/java/com/f1rq/lifemap/components/NavBar.kt b/app/src/main/java/com/f1rq/lifemap/components/NavBar.kt index f65ca61..dbb8284 100644 --- a/app/src/main/java/com/f1rq/lifemap/components/NavBar.kt +++ b/app/src/main/java/com/f1rq/lifemap/components/NavBar.kt @@ -13,21 +13,15 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.unit.dp import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.drawBehind -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.geometry.Size -import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.Dp import com.f1rq.lifemap.ui.theme.MainBG import com.f1rq.lifemap.ui.theme.InactiveNavColor import com.f1rq.lifemap.ui.theme.ActiveNavColor import com.f1rq.lifemap.ui.theme.PrimaryColor import com.f1rq.lifemap.R.drawable.navbar_listview_button import com.f1rq.lifemap.R.drawable.navbar_mapview_button -import com.google.relay.compose.BoxScopeInstanceImpl.align @Composable fun NavBar( diff --git a/app/src/main/java/com/f1rq/lifemap/components/ScreenTitle.kt b/app/src/main/java/com/f1rq/lifemap/components/ScreenTitle.kt new file mode 100644 index 0000000..a6f8ae0 --- /dev/null +++ b/app/src/main/java/com/f1rq/lifemap/components/ScreenTitle.kt @@ -0,0 +1,22 @@ +package com.f1rq.lifemap.components + +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.f1rq.lifemap.ui.theme.MainTextColor + +@Composable +fun ScreenTitle( + title: String, + modifier: Modifier = Modifier +) { + Text( + text = title, + style = MaterialTheme.typography.titleLarge.copy(color = MainTextColor), + modifier = modifier + .padding(vertical = 8.dp) + ) +} diff --git a/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt index 599fd9c..d10c06d 100644 --- a/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt +++ b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt @@ -1,78 +1,46 @@ package com.f1rq.lifemap.screens import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.outlined.List -import androidx.compose.material.icons.filled.MailOutline -import androidx.compose.material.icons.filled.Notifications import androidx.compose.material.icons.outlined.Email import androidx.compose.material.icons.outlined.Notifications -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.navigation.NavController import com.f1rq.lifemap.components.SettingsLabel -import com.f1rq.lifemap.ui.theme.MainTextColor -import com.f1rq.lifemap.R.drawable.contact_icon -import com.f1rq.lifemap.R.drawable.feedback_icon +import com.f1rq.lifemap.components.ScreenTitle @Composable fun SettingsScreen(navController: NavController, modifier: Modifier = Modifier) { - Box( + Column( modifier = Modifier .fillMaxSize() + .padding(horizontal = 16.dp, vertical = 16.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), ) { - Column ( - verticalArrangement = Arrangement.spacedBy(4.dp), - ) { - Text( - text = "Settings", - style = MaterialTheme.typography.titleMedium, - fontSize = MaterialTheme.typography.titleLarge.fontSize, - fontFamily = MaterialTheme.typography.titleLarge.fontFamily, - color = MainTextColor, - modifier = Modifier - .padding( - top = 24.dp, - start = 24.dp - ), - ) - SettingsLabel( - text = "Notifications", - iconResource = Icons.Outlined.Notifications, - desc = "Notifications", - modifier = Modifier - .padding( - horizontal = 16.dp - ), - onClick = { navController.navigate("settings_notifications") } - ) + ScreenTitle("Settings") - SettingsLabel( - text = "Contact", - iconResource = Icons.Outlined.Email, - desc = "Contact us", - modifier = Modifier - .padding( - horizontal = 16.dp - ) - ) + SettingsLabel( + text = "Notifications", + iconResource = Icons.Outlined.Notifications, + desc = "Notifications", + onClick = { navController.navigate("settings_notifications") } + ) - SettingsLabel( - text = "Report a bug", - iconResource = Icons.Outlined.Email, - desc = "Report a bug", - modifier = Modifier - .padding( - horizontal = 16.dp - ) - ) - } + SettingsLabel( + text = "Contact", + iconResource = Icons.Outlined.Email, + desc = "Contact us" + ) + + SettingsLabel( + text = "Report a bug", + iconResource = Icons.Outlined.Email, + desc = "Report a bug" + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/f1rq/lifemap/screens/settingsScreens/SettingsNotificationsScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/settingsScreens/SettingsNotificationsScreen.kt index c394e0b..7719360 100644 --- a/app/src/main/java/com/f1rq/lifemap/screens/settingsScreens/SettingsNotificationsScreen.kt +++ b/app/src/main/java/com/f1rq/lifemap/screens/settingsScreens/SettingsNotificationsScreen.kt @@ -1,19 +1,50 @@ package com.f1rq.lifemap.screens.settingsScreens -import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material3.Text +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.KeyboardArrowLeft +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController +import com.f1rq.lifemap.ui.theme.PrimaryColor +import com.f1rq.lifemap.components.ScreenTitle @Composable -fun SettingsNotificationsScreen(modifier: Modifier = Modifier) { - Box( +fun SettingsNotificationsScreen(navController: NavController, modifier: Modifier = Modifier) { + Column( modifier = Modifier - .fillMaxSize(), - contentAlignment = Alignment.Center + .fillMaxSize() + .padding(horizontal = 16.dp, vertical = 16.dp) ) { - Text("Notifications settings") + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + IconButton( + onClick = { navController.navigate("settings") }, + modifier = Modifier.size(40.dp) + ) { + Icon( + imageVector = Icons.AutoMirrored.Outlined.KeyboardArrowLeft, + contentDescription = "Back", + tint = PrimaryColor, + modifier = Modifier.size(24.dp) + ) + } + + ScreenTitle( + title = "Notifications", + modifier = Modifier.padding(start = 0.dp) + ) + } } -} \ No newline at end of file +} diff --git a/app/src/main/res/drawable/contact_icon.xml b/app/src/main/res/drawable/contact_icon.xml deleted file mode 100644 index 7c88f37..0000000 --- a/app/src/main/res/drawable/contact_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/feedback_icon.xml b/app/src/main/res/drawable/feedback_icon.xml deleted file mode 100644 index d23b613..0000000 --- a/app/src/main/res/drawable/feedback_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - -