localisation improvements
This commit is contained in:
		
							parent
							
								
									e1b60b342d
								
							
						
					
					
						commit
						9faea56056
					
				
					 6 changed files with 38 additions and 36 deletions
				
			
		| 
						 | 
				
			
			@ -25,9 +25,9 @@ import androidx.compose.ui.res.stringResource
 | 
			
		|||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.compose.ui.unit.sp
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.basicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.card
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun BasicTextButton(@StringRes text: Int, modifier: Modifier, action: () -> Unit) {
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ fun BasicButton(
 | 
			
		|||
@Preview
 | 
			
		||||
@Composable
 | 
			
		||||
fun BasicButtonPreview() {
 | 
			
		||||
    BasicButton(text = R.string.add_timer, modifier = Modifier.basicButton()) {}
 | 
			
		||||
    BasicButton(text = AppText.add_timer, modifier = Modifier.basicButton()) {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ fun StealthButton(
 | 
			
		|||
@Preview
 | 
			
		||||
@Composable
 | 
			
		||||
fun StealthButtonCardPreview() {
 | 
			
		||||
    StealthButton(text = R.string.edit) {
 | 
			
		||||
    StealthButton(text = AppText.edit) {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -99,8 +99,8 @@ fun DeleteButton(
 | 
			
		|||
        modifier = Modifier.basicButton(),
 | 
			
		||||
        onClick = onClick,
 | 
			
		||||
        colors = ButtonDefaults.buttonColors(
 | 
			
		||||
            backgroundColor = Color.Red,
 | 
			
		||||
            contentColor = Color.White,
 | 
			
		||||
            backgroundColor = MaterialTheme.colors.error,
 | 
			
		||||
            contentColor = MaterialTheme.colors.onSurface,
 | 
			
		||||
        ),
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ fun DeleteButton(
 | 
			
		|||
@Preview
 | 
			
		||||
@Composable
 | 
			
		||||
fun DeleteButtonPreview() {
 | 
			
		||||
    DeleteButton(text = R.string.delete_subject) {}
 | 
			
		||||
    DeleteButton(text = AppText.delete_subject) {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
| 
						 | 
				
			
			@ -167,5 +167,5 @@ fun NewTaskSubjectButton(
 | 
			
		|||
@Preview
 | 
			
		||||
@Composable
 | 
			
		||||
fun NewTaskButtonPreview() {
 | 
			
		||||
    NewTaskSubjectButton(onClick = {}, text = R.string.new_task)
 | 
			
		||||
    NewTaskSubjectButton(onClick = {}, text = AppText.new_task)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -19,11 +19,12 @@ import androidx.compose.ui.Alignment
 | 
			
		|||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.draw.clip
 | 
			
		||||
import androidx.compose.ui.graphics.Color
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.text.font.FontWeight
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.StealthButton
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.task.Subject
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.timer_functional.HoursMinutesSeconds
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +77,8 @@ fun SubjectEntry(
 | 
			
		|||
                            horizontalArrangement = Arrangement.spacedBy(3.dp)
 | 
			
		||||
                        ) {
 | 
			
		||||
                            Icon(
 | 
			
		||||
                                imageVector = Icons.Default.List, contentDescription = "tasks"
 | 
			
		||||
                                imageVector = Icons.Default.List,
 | 
			
		||||
                                contentDescription = stringResource(id = AppText.tasks)
 | 
			
		||||
                            )
 | 
			
		||||
                            Text(text = "0/0") // TODO
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			@ -84,7 +86,7 @@ fun SubjectEntry(
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
            StealthButton(
 | 
			
		||||
                text = R.string.view_tasks,
 | 
			
		||||
                text = AppText.view_tasks,
 | 
			
		||||
                modifier = Modifier
 | 
			
		||||
                    .padding(start = 10.dp, end = 5.dp)
 | 
			
		||||
                    .weight(1f)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,18 +7,18 @@ import androidx.compose.foundation.lazy.items
 | 
			
		|||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
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.drawer.DrawerActions
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.navbar.NavigationBarActions
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.tasks.SubjectEntry
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.task.Subject
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import kotlinx.coroutines.flow.Flow
 | 
			
		||||
import kotlinx.coroutines.flow.flowOf
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun SubjectRoute(
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ fun SubjectScreen(
 | 
			
		|||
    onViewSubject: (Subject) -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    PrimaryScreenTemplate(
 | 
			
		||||
        title = resources().getString(R.string.tasks),
 | 
			
		||||
        title = stringResource(AppText.my_subjects),
 | 
			
		||||
        drawerActions = drawerActions,
 | 
			
		||||
        navigationBarActions = navigationBarActions,
 | 
			
		||||
        barAction = {},
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ fun SubjectScreen(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            NewTaskSubjectButton(onClick = addSubject, R.string.new_subject)
 | 
			
		||||
            NewTaskSubjectButton(onClick = addSubject, AppText.new_subject)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,17 +11,17 @@ import androidx.compose.material.icons.filled.Edit
 | 
			
		|||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.tasks.TaskEntry
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.task.Subject
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.task.Task
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import kotlinx.coroutines.flow.Flow
 | 
			
		||||
import kotlinx.coroutines.flow.flowOf
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
 | 
			
		||||
data class TaskActions(
 | 
			
		||||
    val addTask: () -> Unit,
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ fun TaskScreen(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            NewTaskSubjectButton(onClick = taskActions.addTask, R.string.new_task)
 | 
			
		||||
            NewTaskSubjectButton(onClick = taskActions.addTask, AppText.new_task)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,7 @@ fun EditAction(
 | 
			
		|||
    IconButton(onClick = onClick) {
 | 
			
		||||
        Icon(
 | 
			
		||||
            imageVector = Icons.Default.Edit,
 | 
			
		||||
            contentDescription = resources().getString(R.string.edit_task)
 | 
			
		||||
            contentDescription = stringResource(AppText.edit_task)
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,13 +10,13 @@ import androidx.compose.ui.Modifier
 | 
			
		|||
import androidx.compose.ui.graphics.Color
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.BasicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.DeleteButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.basicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.fieldModifier
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun SubjectAddRoute(
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ fun SubjectAddRoute(
 | 
			
		|||
) {
 | 
			
		||||
    val uiState by viewModel.uiState
 | 
			
		||||
    SubjectForm(
 | 
			
		||||
        title = R.string.new_subject,
 | 
			
		||||
        title = AppText.new_subject,
 | 
			
		||||
        goBack = goBack,
 | 
			
		||||
        uiState = uiState,
 | 
			
		||||
        onConfirm = { viewModel.onCreate(openAndPopUp) },
 | 
			
		||||
| 
						 | 
				
			
			@ -43,14 +43,14 @@ fun SubjectEditRoute(
 | 
			
		|||
) {
 | 
			
		||||
    val uiState by viewModel.uiState
 | 
			
		||||
    SubjectForm(
 | 
			
		||||
        title = R.string.edit_subject,
 | 
			
		||||
        title = AppText.edit_subject,
 | 
			
		||||
        goBack = goBack,
 | 
			
		||||
        uiState = uiState,
 | 
			
		||||
        onConfirm = { viewModel.onEdit(openAndPopUp) },
 | 
			
		||||
        onNameChange = viewModel::onNameChange,
 | 
			
		||||
        onColorChange = {},
 | 
			
		||||
    ) {
 | 
			
		||||
        DeleteButton(text = R.string.delete_subject) {
 | 
			
		||||
        DeleteButton(text = AppText.delete_subject) {
 | 
			
		||||
            viewModel.onDelete(openAndPopUp)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -75,11 +75,11 @@ fun SubjectForm(
 | 
			
		|||
                singleLine = true,
 | 
			
		||||
                value = uiState.name,
 | 
			
		||||
                onValueChange = onNameChange,
 | 
			
		||||
                placeholder = { Text(stringResource(id = R.string.name)) },
 | 
			
		||||
                placeholder = { Text(stringResource(id = AppText.name)) },
 | 
			
		||||
                modifier = Modifier.fieldModifier(),
 | 
			
		||||
            )
 | 
			
		||||
            BasicButton(
 | 
			
		||||
                text = R.string.confirm,
 | 
			
		||||
                text = AppText.confirm,
 | 
			
		||||
                modifier = Modifier.basicButton(),
 | 
			
		||||
                onClick = onConfirm,
 | 
			
		||||
            )
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +92,7 @@ fun SubjectForm(
 | 
			
		|||
@Composable
 | 
			
		||||
fun AddSubjectFormPreview() {
 | 
			
		||||
    SubjectForm(
 | 
			
		||||
        title = R.string.new_subject,
 | 
			
		||||
        title = AppText.new_subject,
 | 
			
		||||
        goBack = {},
 | 
			
		||||
        uiState = SubjectFormUiState(),
 | 
			
		||||
        onConfirm = {},
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ fun AddSubjectFormPreview() {
 | 
			
		|||
@Composable
 | 
			
		||||
fun EditSubjectFormPreview() {
 | 
			
		||||
    SubjectForm(
 | 
			
		||||
        title = R.string.edit_subject,
 | 
			
		||||
        title = AppText.edit_subject,
 | 
			
		||||
        goBack = {},
 | 
			
		||||
        uiState = SubjectFormUiState(
 | 
			
		||||
            name = "Test Subject",
 | 
			
		||||
| 
						 | 
				
			
			@ -114,6 +114,6 @@ fun EditSubjectFormPreview() {
 | 
			
		|||
        onNameChange = {},
 | 
			
		||||
        onColorChange = {},
 | 
			
		||||
    ) {
 | 
			
		||||
        DeleteButton(text = R.string.delete_subject) {}
 | 
			
		||||
        DeleteButton(text = AppText.delete_subject) {}
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@ import androidx.compose.runtime.getValue
 | 
			
		|||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.BasicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.DeleteButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.basicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.fieldModifier
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import be.ugent.sel.studeez.R.string as AppText
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun TaskAddRoute(
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ fun TaskAddRoute(
 | 
			
		|||
) {
 | 
			
		||||
    val uiState by viewModel.uiState
 | 
			
		||||
    TaskForm(
 | 
			
		||||
        title = R.string.new_task,
 | 
			
		||||
        title = AppText.new_task,
 | 
			
		||||
        goBack = goBack,
 | 
			
		||||
        uiState = uiState,
 | 
			
		||||
        onConfirm = { viewModel.onCreate(openAndPopUp) },
 | 
			
		||||
| 
						 | 
				
			
			@ -41,13 +41,13 @@ fun TaskEditRoute(
 | 
			
		|||
) {
 | 
			
		||||
    val uiState by viewModel.uiState
 | 
			
		||||
    TaskForm(
 | 
			
		||||
        title = R.string.edit_task,
 | 
			
		||||
        title = AppText.edit_task,
 | 
			
		||||
        goBack = goBack,
 | 
			
		||||
        uiState = uiState,
 | 
			
		||||
        onConfirm = { viewModel.onEdit(openAndPopUp) },
 | 
			
		||||
        onNameChange = viewModel::onNameChange
 | 
			
		||||
    ) {
 | 
			
		||||
        DeleteButton(text = R.string.delete_task) {
 | 
			
		||||
        DeleteButton(text = AppText.delete_task) {
 | 
			
		||||
            viewModel.onDelete(openAndPopUp)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -71,11 +71,11 @@ fun TaskForm(
 | 
			
		|||
                singleLine = true,
 | 
			
		||||
                value = uiState.name,
 | 
			
		||||
                onValueChange = onNameChange,
 | 
			
		||||
                placeholder = { Text(stringResource(id = R.string.name)) },
 | 
			
		||||
                placeholder = { Text(stringResource(id = AppText.name)) },
 | 
			
		||||
                modifier = Modifier.fieldModifier(),
 | 
			
		||||
            )
 | 
			
		||||
            BasicButton(
 | 
			
		||||
                text = R.string.confirm,
 | 
			
		||||
                text = AppText.confirm,
 | 
			
		||||
                modifier = Modifier.basicButton(),
 | 
			
		||||
                onClick = onConfirm,
 | 
			
		||||
            )
 | 
			
		||||
| 
						 | 
				
			
			@ -88,7 +88,7 @@ fun TaskForm(
 | 
			
		|||
@Composable
 | 
			
		||||
fun AddTaskFormPreview() {
 | 
			
		||||
    TaskForm(
 | 
			
		||||
        title = R.string.new_task,
 | 
			
		||||
        title = AppText.new_task,
 | 
			
		||||
        goBack = {},
 | 
			
		||||
        uiState = TaskFormUiState(),
 | 
			
		||||
        onConfirm = {},
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +100,7 @@ fun AddTaskFormPreview() {
 | 
			
		|||
@Composable
 | 
			
		||||
fun EditTaskFormPreview() {
 | 
			
		||||
    TaskForm(
 | 
			
		||||
        title = R.string.edit_task,
 | 
			
		||||
        title = AppText.edit_task,
 | 
			
		||||
        goBack = {},
 | 
			
		||||
        uiState = TaskFormUiState(
 | 
			
		||||
            name = "Test Task",
 | 
			
		||||
| 
						 | 
				
			
			@ -108,6 +108,6 @@ fun EditTaskFormPreview() {
 | 
			
		|||
        onConfirm = {},
 | 
			
		||||
        onNameChange = {},
 | 
			
		||||
    ) {
 | 
			
		||||
        DeleteButton(text = R.string.delete_task) {}
 | 
			
		||||
        DeleteButton(text = AppText.delete_task) {}
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in a new issue