#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