#21 style button to add subjects/tasks
This commit is contained in:
		
							parent
							
								
									1e359b9e37
								
							
						
					
					
						commit
						4bbc3af4b2
					
				
					 3 changed files with 56 additions and 12 deletions
				
			
		|  | @ -2,10 +2,25 @@ package be.ugent.sel.studeez.common.composable | ||||||
| 
 | 
 | ||||||
| import androidx.annotation.StringRes | import androidx.annotation.StringRes | ||||||
| import androidx.compose.foundation.BorderStroke | import androidx.compose.foundation.BorderStroke | ||||||
|  | import androidx.compose.foundation.layout.Arrangement | ||||||
|  | import androidx.compose.foundation.layout.Row | ||||||
|  | import androidx.compose.foundation.layout.fillMaxWidth | ||||||
|  | import androidx.compose.foundation.layout.height | ||||||
|  | import androidx.compose.foundation.layout.padding | ||||||
| import androidx.compose.foundation.shape.RoundedCornerShape | import androidx.compose.foundation.shape.RoundedCornerShape | ||||||
| import androidx.compose.material.* | import androidx.compose.material.Button | ||||||
|  | import androidx.compose.material.ButtonColors | ||||||
|  | import androidx.compose.material.ButtonDefaults | ||||||
|  | import androidx.compose.material.Icon | ||||||
|  | import androidx.compose.material.MaterialTheme | ||||||
|  | import androidx.compose.material.Text | ||||||
|  | import androidx.compose.material.TextButton | ||||||
|  | import androidx.compose.material.icons.Icons | ||||||
|  | import androidx.compose.material.icons.filled.Add | ||||||
| import androidx.compose.runtime.Composable | import androidx.compose.runtime.Composable | ||||||
|  | import androidx.compose.ui.Alignment | ||||||
| import androidx.compose.ui.Modifier | import androidx.compose.ui.Modifier | ||||||
|  | import androidx.compose.ui.graphics.Color | ||||||
| import androidx.compose.ui.res.stringResource | import androidx.compose.ui.res.stringResource | ||||||
| import androidx.compose.ui.tooling.preview.Preview | import androidx.compose.ui.tooling.preview.Preview | ||||||
| import androidx.compose.ui.unit.dp | import androidx.compose.ui.unit.dp | ||||||
|  | @ -94,3 +109,39 @@ fun DialogCancelButton(@StringRes text: Int, action: () -> Unit) { | ||||||
|         Text(text = stringResource(text)) |         Text(text = stringResource(text)) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | @Composable | ||||||
|  | fun NewTaskSubjectButton( | ||||||
|  |     onClick: () -> Unit, | ||||||
|  |     @StringRes text: Int, | ||||||
|  | ) { | ||||||
|  |     Button( | ||||||
|  |         onClick = onClick, | ||||||
|  |         modifier = Modifier | ||||||
|  |             .fillMaxWidth() | ||||||
|  |             .height(60.dp) | ||||||
|  |             .padding(10.dp, 5.dp), | ||||||
|  |         colors = ButtonDefaults.buttonColors( | ||||||
|  |             backgroundColor = Color.Transparent, | ||||||
|  |             contentColor = Color.Gray, | ||||||
|  |         ), | ||||||
|  |         shape = RoundedCornerShape(2.dp), | ||||||
|  |         border = BorderStroke(1.dp, Color.Gray), | ||||||
|  |         elevation = null, | ||||||
|  |     ) { | ||||||
|  |         Row( | ||||||
|  |             modifier = Modifier.fillMaxWidth(), | ||||||
|  |             horizontalArrangement = Arrangement.SpaceBetween, | ||||||
|  |             verticalAlignment = Alignment.CenterVertically, | ||||||
|  |         ) { | ||||||
|  |             Text(text = stringResource(id = text)) | ||||||
|  |             Icon(imageVector = Icons.Default.Add, contentDescription = stringResource(id = text)) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @Preview | ||||||
|  | @Composable | ||||||
|  | fun NewTaskButtonPreview() { | ||||||
|  |     NewTaskSubjectButton(onClick = {}, text = R.string.new_task) | ||||||
|  | } | ||||||
|  | @ -3,12 +3,11 @@ package be.ugent.sel.studeez.screens.tasks | ||||||
| import androidx.compose.foundation.layout.Column | import androidx.compose.foundation.layout.Column | ||||||
| import androidx.compose.foundation.lazy.LazyColumn | import androidx.compose.foundation.lazy.LazyColumn | ||||||
| import androidx.compose.foundation.lazy.items | import androidx.compose.foundation.lazy.items | ||||||
| import androidx.compose.material.Button |  | ||||||
| import androidx.compose.material.Text |  | ||||||
| import androidx.compose.runtime.Composable | import androidx.compose.runtime.Composable | ||||||
| import androidx.compose.runtime.collectAsState | import androidx.compose.runtime.collectAsState | ||||||
| import androidx.compose.ui.tooling.preview.Preview | import androidx.compose.ui.tooling.preview.Preview | ||||||
| import be.ugent.sel.studeez.R | import be.ugent.sel.studeez.R | ||||||
|  | import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton | ||||||
| import be.ugent.sel.studeez.common.composable.PrimaryScreenTemplate | import be.ugent.sel.studeez.common.composable.PrimaryScreenTemplate | ||||||
| import be.ugent.sel.studeez.common.composable.SubjectEntry | import be.ugent.sel.studeez.common.composable.SubjectEntry | ||||||
| import be.ugent.sel.studeez.common.composable.drawer.DrawerActions | import be.ugent.sel.studeez.common.composable.drawer.DrawerActions | ||||||
|  | @ -52,19 +51,11 @@ fun TaskScreen( | ||||||
|                     SubjectEntry(subject = it) |                     SubjectEntry(subject = it) | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             AddSubjectButton(onClick = addSubject) |             NewTaskSubjectButton(onClick = addSubject, R.string.new_subject) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @Composable |  | ||||||
| fun AddSubjectButton( |  | ||||||
|     onClick: () -> Unit, |  | ||||||
| ) { |  | ||||||
|     Button(onClick = onClick) { |  | ||||||
|         Text(text = "Add Subject") |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| @Preview | @Preview | ||||||
| @Composable | @Composable | ||||||
|  |  | ||||||
|  | @ -42,6 +42,8 @@ | ||||||
| 
 | 
 | ||||||
|     <!-- Tasks --> |     <!-- Tasks --> | ||||||
|     <string name="tasks">Tasks</string> |     <string name="tasks">Tasks</string> | ||||||
|  |     <string name="new_subject">New Subject</string> | ||||||
|  |     <string name="new_task">New Task</string> | ||||||
| 
 | 
 | ||||||
|     <!-- Sessions --> |     <!-- Sessions --> | ||||||
|     <string name="sessions">Sessions</string> |     <string name="sessions">Sessions</string> | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 brreynie
						brreynie