#18 add edit profile button
This commit is contained in:
parent
f82e83867c
commit
3900e3c18a
4 changed files with 49 additions and 4 deletions
|
@ -1,8 +1,10 @@
|
||||||
package be.ugent.sel.studeez.common.composable
|
package be.ugent.sel.studeez.common.composable
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.*
|
import androidx.compose.material.*
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.Edit
|
||||||
import androidx.compose.material.icons.filled.Menu
|
import androidx.compose.material.icons.filled.Menu
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
|
@ -20,6 +22,7 @@ fun PrimaryScreenTemplate(
|
||||||
title: String,
|
title: String,
|
||||||
open: (String) -> Unit,
|
open: (String) -> Unit,
|
||||||
openAndPopUp: (String, String) -> Unit,
|
openAndPopUp: (String, String) -> Unit,
|
||||||
|
action: @Composable RowScope.() -> Unit,
|
||||||
content: @Composable (PaddingValues) -> Unit
|
content: @Composable (PaddingValues) -> Unit
|
||||||
) {
|
) {
|
||||||
val scaffoldState: ScaffoldState = rememberScaffoldState()
|
val scaffoldState: ScaffoldState = rememberScaffoldState()
|
||||||
|
@ -39,7 +42,8 @@ fun PrimaryScreenTemplate(
|
||||||
contentDescription = resources().getString(R.string.menu)
|
contentDescription = resources().getString(R.string.menu)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
actions = action
|
||||||
) },
|
) },
|
||||||
|
|
||||||
drawerContent = {
|
drawerContent = {
|
||||||
|
@ -62,7 +66,13 @@ fun PrimaryScreenPreview() {
|
||||||
PrimaryScreenTemplate(
|
PrimaryScreenTemplate(
|
||||||
"Preview screen",
|
"Preview screen",
|
||||||
{ _ -> {}},
|
{ _ -> {}},
|
||||||
{ _, _ -> {}}
|
{ _, _ -> {}},
|
||||||
|
{ IconButton(onClick = { /*TODO*/ }) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Default.Edit,
|
||||||
|
contentDescription = "Edit"
|
||||||
|
)
|
||||||
|
}}
|
||||||
) {}
|
) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,9 @@
|
||||||
package be.ugent.sel.studeez.screens.home
|
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.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
|
@ -18,10 +22,21 @@ fun HomeScreen(
|
||||||
PrimaryScreenTemplate(
|
PrimaryScreenTemplate(
|
||||||
title = resources().getString(R.string.home),
|
title = resources().getString(R.string.home),
|
||||||
open = open,
|
open = open,
|
||||||
openAndPopUp = openAndPopUp
|
openAndPopUp = openAndPopUp,
|
||||||
|
action = { FriendsAction() }
|
||||||
) {
|
) {
|
||||||
BasicButton(R.string.start_session, Modifier.basicButton()) {
|
BasicButton(R.string.start_session, Modifier.basicButton()) {
|
||||||
viewModel.onStartSessionClick(open)
|
viewModel.onStartSessionClick(open)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun FriendsAction () {
|
||||||
|
IconButton(onClick = { /*TODO*/ }) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Default.Person,
|
||||||
|
contentDescription = resources().getString(R.string.friends)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,9 @@
|
||||||
package be.ugent.sel.studeez.screens.profile
|
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.compose.runtime.*
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import be.ugent.sel.studeez.R
|
import be.ugent.sel.studeez.R
|
||||||
|
@ -22,8 +26,20 @@ fun ProfileScreen(
|
||||||
PrimaryScreenTemplate(
|
PrimaryScreenTemplate(
|
||||||
title = resources().getString(AppText.profile),
|
title = resources().getString(AppText.profile),
|
||||||
open = open,
|
open = open,
|
||||||
openAndPopUp = openAndPopUp
|
openAndPopUp = openAndPopUp,
|
||||||
|
action = { EditAction() }
|
||||||
) {
|
) {
|
||||||
Headline(text = (username ?: resources().getString(R.string.no_username)))
|
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)
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -39,6 +39,10 @@
|
||||||
<!-- Profile -->
|
<!-- Profile -->
|
||||||
<string name="profile">Profile</string>
|
<string name="profile">Profile</string>
|
||||||
<string name="no_username">Unknown username</string>
|
<string name="no_username">Unknown username</string>
|
||||||
|
<string name="edit_profile">Edit profile</string>
|
||||||
|
|
||||||
|
<!-- Friends -->
|
||||||
|
<string name="friends">Friends</string>
|
||||||
|
|
||||||
<!-- Drawer / SideMenu -->
|
<!-- Drawer / SideMenu -->
|
||||||
<string name="log_out">Log out</string>
|
<string name="log_out">Log out</string>
|
||||||
|
|
Reference in a new issue