localisation improvements

This commit is contained in:
brreynie 2023-05-04 12:33:51 +02:00
parent e1b60b342d
commit 9faea56056
6 changed files with 38 additions and 36 deletions

View file

@ -25,9 +25,9 @@ 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
import androidx.compose.ui.unit.sp 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.basicButton
import be.ugent.sel.studeez.common.ext.card import be.ugent.sel.studeez.common.ext.card
import be.ugent.sel.studeez.R.string as AppText
@Composable @Composable
fun BasicTextButton(@StringRes text: Int, modifier: Modifier, action: () -> Unit) { fun BasicTextButton(@StringRes text: Int, modifier: Modifier, action: () -> Unit) {
@ -59,7 +59,7 @@ fun BasicButton(
@Preview @Preview
@Composable @Composable
fun BasicButtonPreview() { fun BasicButtonPreview() {
BasicButton(text = R.string.add_timer, modifier = Modifier.basicButton()) {} BasicButton(text = AppText.add_timer, modifier = Modifier.basicButton()) {}
} }
@Composable @Composable
@ -83,7 +83,7 @@ fun StealthButton(
@Preview @Preview
@Composable @Composable
fun StealthButtonCardPreview() { fun StealthButtonCardPreview() {
StealthButton(text = R.string.edit) { StealthButton(text = AppText.edit) {
} }
} }
@ -99,8 +99,8 @@ fun DeleteButton(
modifier = Modifier.basicButton(), modifier = Modifier.basicButton(),
onClick = onClick, onClick = onClick,
colors = ButtonDefaults.buttonColors( colors = ButtonDefaults.buttonColors(
backgroundColor = Color.Red, backgroundColor = MaterialTheme.colors.error,
contentColor = Color.White, contentColor = MaterialTheme.colors.onSurface,
), ),
) )
} }
@ -108,7 +108,7 @@ fun DeleteButton(
@Preview @Preview
@Composable @Composable
fun DeleteButtonPreview() { fun DeleteButtonPreview() {
DeleteButton(text = R.string.delete_subject) {} DeleteButton(text = AppText.delete_subject) {}
} }
@Composable @Composable
@ -167,5 +167,5 @@ fun NewTaskSubjectButton(
@Preview @Preview
@Composable @Composable
fun NewTaskButtonPreview() { fun NewTaskButtonPreview() {
NewTaskSubjectButton(onClick = {}, text = R.string.new_task) NewTaskSubjectButton(onClick = {}, text = AppText.new_task)
} }

View file

@ -19,11 +19,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
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
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.common.composable.StealthButton
import be.ugent.sel.studeez.data.local.models.task.Subject import be.ugent.sel.studeez.data.local.models.task.Subject
import be.ugent.sel.studeez.data.local.models.timer_functional.HoursMinutesSeconds import be.ugent.sel.studeez.data.local.models.timer_functional.HoursMinutesSeconds
@ -76,7 +77,8 @@ fun SubjectEntry(
horizontalArrangement = Arrangement.spacedBy(3.dp) horizontalArrangement = Arrangement.spacedBy(3.dp)
) { ) {
Icon( Icon(
imageVector = Icons.Default.List, contentDescription = "tasks" imageVector = Icons.Default.List,
contentDescription = stringResource(id = AppText.tasks)
) )
Text(text = "0/0") // TODO Text(text = "0/0") // TODO
} }
@ -84,7 +86,7 @@ fun SubjectEntry(
} }
} }
StealthButton( StealthButton(
text = R.string.view_tasks, text = AppText.view_tasks,
modifier = Modifier modifier = Modifier
.padding(start = 10.dp, end = 5.dp) .padding(start = 10.dp, end = 5.dp)
.weight(1f) .weight(1f)

View file

@ -7,18 +7,18 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
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
import be.ugent.sel.studeez.R
import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton 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.drawer.DrawerActions 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.navbar.NavigationBarActions
import be.ugent.sel.studeez.common.composable.tasks.SubjectEntry import be.ugent.sel.studeez.common.composable.tasks.SubjectEntry
import be.ugent.sel.studeez.data.local.models.task.Subject 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.Flow
import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOf
import be.ugent.sel.studeez.R.string as AppText
@Composable @Composable
fun SubjectRoute( fun SubjectRoute(
@ -45,7 +45,7 @@ fun SubjectScreen(
onViewSubject: (Subject) -> Unit, onViewSubject: (Subject) -> Unit,
) { ) {
PrimaryScreenTemplate( PrimaryScreenTemplate(
title = resources().getString(R.string.tasks), title = stringResource(AppText.my_subjects),
drawerActions = drawerActions, drawerActions = drawerActions,
navigationBarActions = navigationBarActions, navigationBarActions = navigationBarActions,
barAction = {}, barAction = {},
@ -62,7 +62,7 @@ fun SubjectScreen(
) )
} }
} }
NewTaskSubjectButton(onClick = addSubject, R.string.new_subject) NewTaskSubjectButton(onClick = addSubject, AppText.new_subject)
} }
} }
} }

View file

@ -11,17 +11,17 @@ import androidx.compose.material.icons.filled.Edit
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
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
import be.ugent.sel.studeez.R
import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
import be.ugent.sel.studeez.common.composable.tasks.TaskEntry 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.Subject
import be.ugent.sel.studeez.data.local.models.task.Task 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.Flow
import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOf
import be.ugent.sel.studeez.R.string as AppText
data class TaskActions( data class TaskActions(
val addTask: () -> Unit, 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) { IconButton(onClick = onClick) {
Icon( Icon(
imageVector = Icons.Default.Edit, imageVector = Icons.Default.Edit,
contentDescription = resources().getString(R.string.edit_task) contentDescription = stringResource(AppText.edit_task)
) )
} }

View file

@ -10,13 +10,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color 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 be.ugent.sel.studeez.R
import be.ugent.sel.studeez.common.composable.BasicButton import be.ugent.sel.studeez.common.composable.BasicButton
import be.ugent.sel.studeez.common.composable.DeleteButton import be.ugent.sel.studeez.common.composable.DeleteButton
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
import be.ugent.sel.studeez.common.ext.basicButton import be.ugent.sel.studeez.common.ext.basicButton
import be.ugent.sel.studeez.common.ext.fieldModifier import be.ugent.sel.studeez.common.ext.fieldModifier
import be.ugent.sel.studeez.resources import be.ugent.sel.studeez.resources
import be.ugent.sel.studeez.R.string as AppText
@Composable @Composable
fun SubjectAddRoute( fun SubjectAddRoute(
@ -26,7 +26,7 @@ fun SubjectAddRoute(
) { ) {
val uiState by viewModel.uiState val uiState by viewModel.uiState
SubjectForm( SubjectForm(
title = R.string.new_subject, title = AppText.new_subject,
goBack = goBack, goBack = goBack,
uiState = uiState, uiState = uiState,
onConfirm = { viewModel.onCreate(openAndPopUp) }, onConfirm = { viewModel.onCreate(openAndPopUp) },
@ -43,14 +43,14 @@ fun SubjectEditRoute(
) { ) {
val uiState by viewModel.uiState val uiState by viewModel.uiState
SubjectForm( SubjectForm(
title = R.string.edit_subject, title = AppText.edit_subject,
goBack = goBack, goBack = goBack,
uiState = uiState, uiState = uiState,
onConfirm = { viewModel.onEdit(openAndPopUp) }, onConfirm = { viewModel.onEdit(openAndPopUp) },
onNameChange = viewModel::onNameChange, onNameChange = viewModel::onNameChange,
onColorChange = {}, onColorChange = {},
) { ) {
DeleteButton(text = R.string.delete_subject) { DeleteButton(text = AppText.delete_subject) {
viewModel.onDelete(openAndPopUp) viewModel.onDelete(openAndPopUp)
} }
} }
@ -75,11 +75,11 @@ fun SubjectForm(
singleLine = true, singleLine = true,
value = uiState.name, value = uiState.name,
onValueChange = onNameChange, onValueChange = onNameChange,
placeholder = { Text(stringResource(id = R.string.name)) }, placeholder = { Text(stringResource(id = AppText.name)) },
modifier = Modifier.fieldModifier(), modifier = Modifier.fieldModifier(),
) )
BasicButton( BasicButton(
text = R.string.confirm, text = AppText.confirm,
modifier = Modifier.basicButton(), modifier = Modifier.basicButton(),
onClick = onConfirm, onClick = onConfirm,
) )
@ -92,7 +92,7 @@ fun SubjectForm(
@Composable @Composable
fun AddSubjectFormPreview() { fun AddSubjectFormPreview() {
SubjectForm( SubjectForm(
title = R.string.new_subject, title = AppText.new_subject,
goBack = {}, goBack = {},
uiState = SubjectFormUiState(), uiState = SubjectFormUiState(),
onConfirm = {}, onConfirm = {},
@ -105,7 +105,7 @@ fun AddSubjectFormPreview() {
@Composable @Composable
fun EditSubjectFormPreview() { fun EditSubjectFormPreview() {
SubjectForm( SubjectForm(
title = R.string.edit_subject, title = AppText.edit_subject,
goBack = {}, goBack = {},
uiState = SubjectFormUiState( uiState = SubjectFormUiState(
name = "Test Subject", name = "Test Subject",
@ -114,6 +114,6 @@ fun EditSubjectFormPreview() {
onNameChange = {}, onNameChange = {},
onColorChange = {}, onColorChange = {},
) { ) {
DeleteButton(text = R.string.delete_subject) {} DeleteButton(text = AppText.delete_subject) {}
} }
} }

View file

@ -9,13 +9,13 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
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 be.ugent.sel.studeez.R
import be.ugent.sel.studeez.common.composable.BasicButton import be.ugent.sel.studeez.common.composable.BasicButton
import be.ugent.sel.studeez.common.composable.DeleteButton import be.ugent.sel.studeez.common.composable.DeleteButton
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
import be.ugent.sel.studeez.common.ext.basicButton import be.ugent.sel.studeez.common.ext.basicButton
import be.ugent.sel.studeez.common.ext.fieldModifier import be.ugent.sel.studeez.common.ext.fieldModifier
import be.ugent.sel.studeez.resources import be.ugent.sel.studeez.resources
import be.ugent.sel.studeez.R.string as AppText
@Composable @Composable
fun TaskAddRoute( fun TaskAddRoute(
@ -25,7 +25,7 @@ fun TaskAddRoute(
) { ) {
val uiState by viewModel.uiState val uiState by viewModel.uiState
TaskForm( TaskForm(
title = R.string.new_task, title = AppText.new_task,
goBack = goBack, goBack = goBack,
uiState = uiState, uiState = uiState,
onConfirm = { viewModel.onCreate(openAndPopUp) }, onConfirm = { viewModel.onCreate(openAndPopUp) },
@ -41,13 +41,13 @@ fun TaskEditRoute(
) { ) {
val uiState by viewModel.uiState val uiState by viewModel.uiState
TaskForm( TaskForm(
title = R.string.edit_task, title = AppText.edit_task,
goBack = goBack, goBack = goBack,
uiState = uiState, uiState = uiState,
onConfirm = { viewModel.onEdit(openAndPopUp) }, onConfirm = { viewModel.onEdit(openAndPopUp) },
onNameChange = viewModel::onNameChange onNameChange = viewModel::onNameChange
) { ) {
DeleteButton(text = R.string.delete_task) { DeleteButton(text = AppText.delete_task) {
viewModel.onDelete(openAndPopUp) viewModel.onDelete(openAndPopUp)
} }
} }
@ -71,11 +71,11 @@ fun TaskForm(
singleLine = true, singleLine = true,
value = uiState.name, value = uiState.name,
onValueChange = onNameChange, onValueChange = onNameChange,
placeholder = { Text(stringResource(id = R.string.name)) }, placeholder = { Text(stringResource(id = AppText.name)) },
modifier = Modifier.fieldModifier(), modifier = Modifier.fieldModifier(),
) )
BasicButton( BasicButton(
text = R.string.confirm, text = AppText.confirm,
modifier = Modifier.basicButton(), modifier = Modifier.basicButton(),
onClick = onConfirm, onClick = onConfirm,
) )
@ -88,7 +88,7 @@ fun TaskForm(
@Composable @Composable
fun AddTaskFormPreview() { fun AddTaskFormPreview() {
TaskForm( TaskForm(
title = R.string.new_task, title = AppText.new_task,
goBack = {}, goBack = {},
uiState = TaskFormUiState(), uiState = TaskFormUiState(),
onConfirm = {}, onConfirm = {},
@ -100,7 +100,7 @@ fun AddTaskFormPreview() {
@Composable @Composable
fun EditTaskFormPreview() { fun EditTaskFormPreview() {
TaskForm( TaskForm(
title = R.string.edit_task, title = AppText.edit_task,
goBack = {}, goBack = {},
uiState = TaskFormUiState( uiState = TaskFormUiState(
name = "Test Task", name = "Test Task",
@ -108,6 +108,6 @@ fun EditTaskFormPreview() {
onConfirm = {}, onConfirm = {},
onNameChange = {}, onNameChange = {},
) { ) {
DeleteButton(text = R.string.delete_task) {} DeleteButton(text = AppText.delete_task) {}
} }
} }