From 3900e3c18a4f3d81fb27e301a677409695152ca5 Mon Sep 17 00:00:00 2001 From: tdpeuter Date: Sun, 16 Apr 2023 13:02:09 +0200 Subject: [PATCH] #18 add edit profile button --- .../composable/PrimaryScreenComposable.kt | 14 ++++++++++++-- .../sel/studeez/screens/home/HomeScreen.kt | 17 ++++++++++++++++- .../studeez/screens/profile/ProfileScreen.kt | 18 +++++++++++++++++- app/src/main/res/values/strings.xml | 4 ++++ 4 files changed, 49 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt index 5983d37..009281f 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/PrimaryScreenComposable.kt @@ -1,8 +1,10 @@ package be.ugent.sel.studeez.common.composable import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.RowScope import androidx.compose.material.* import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Edit import androidx.compose.material.icons.filled.Menu import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope @@ -20,6 +22,7 @@ fun PrimaryScreenTemplate( title: String, open: (String) -> Unit, openAndPopUp: (String, String) -> Unit, + action: @Composable RowScope.() -> Unit, content: @Composable (PaddingValues) -> Unit ) { val scaffoldState: ScaffoldState = rememberScaffoldState() @@ -39,7 +42,8 @@ fun PrimaryScreenTemplate( contentDescription = resources().getString(R.string.menu) ) } - } + }, + actions = action ) }, drawerContent = { @@ -62,7 +66,13 @@ fun PrimaryScreenPreview() { PrimaryScreenTemplate( "Preview screen", { _ -> {}}, - { _, _ -> {}} + { _, _ -> {}}, + { IconButton(onClick = { /*TODO*/ }) { + Icon( + imageVector = Icons.Default.Edit, + contentDescription = "Edit" + ) + }} ) {} } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt index e8c88c1..7ca2559 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt @@ -1,5 +1,9 @@ package be.ugent.sel.studeez.screens.home +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Person import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.hilt.navigation.compose.hiltViewModel @@ -18,10 +22,21 @@ fun HomeScreen( PrimaryScreenTemplate( title = resources().getString(R.string.home), open = open, - openAndPopUp = openAndPopUp + openAndPopUp = openAndPopUp, + action = { FriendsAction() } ) { BasicButton(R.string.start_session, Modifier.basicButton()) { viewModel.onStartSessionClick(open) } } +} + +@Composable +fun FriendsAction () { + IconButton(onClick = { /*TODO*/ }) { + Icon( + imageVector = Icons.Default.Person, + contentDescription = resources().getString(R.string.friends) + ) + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt index 56568c4..05cf490 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt @@ -1,5 +1,9 @@ package be.ugent.sel.studeez.screens.profile +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Edit import androidx.compose.runtime.* import androidx.hilt.navigation.compose.hiltViewModel import be.ugent.sel.studeez.R @@ -22,8 +26,20 @@ fun ProfileScreen( PrimaryScreenTemplate( title = resources().getString(AppText.profile), open = open, - openAndPopUp = openAndPopUp + openAndPopUp = openAndPopUp, + action = { EditAction() } ) { Headline(text = (username ?: resources().getString(R.string.no_username))) } +} + +@Composable +fun EditAction() { + IconButton(onClick = { /*TODO*/ }) { + Icon( + imageVector = Icons.Default.Edit, + contentDescription = resources().getString(AppText.edit_profile) + ) + + } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1f23152..f189ea6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,6 +39,10 @@ Profile Unknown username + Edit profile + + + Friends Log out