diff --git a/features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt b/features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt index 3701a0329c..f2697386ab 100644 --- a/features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt +++ b/features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt @@ -39,6 +39,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.BackButton import io.element.android.libraries.designsystem.theme.components.CenterAlignedTopAppBar import io.element.android.libraries.designsystem.theme.components.DockedSearchBar import io.element.android.libraries.designsystem.theme.components.Icon @@ -133,9 +134,7 @@ fun CreateRoomSearchBar( }, leadingIcon = if (active.value) { { - IconButton(onClick = { closeSearchBar() }) { - Icon(DrawableR.drawable.ic_arrow_back, stringResource(StringR.string.a11y_back)) - } + BackButton(onClick = { closeSearchBar() }) } } else null, trailingIcon = { diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt index ba9a754fd5..4fe5d015c6 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt @@ -104,7 +104,7 @@ fun ChangeServerView( topBar = { TopAppBar( title = {}, - navigationIcon = { BackButton(action = onBackPressed, enabled = interactionEnabled) } + navigationIcon = { BackButton(onClick = onBackPressed, enabled = interactionEnabled) } ) } ) { padding -> @@ -192,7 +192,7 @@ fun ChangeServerView( IconButton(onClick = { homeserverFieldState = "" }, enabled = interactionEnabled) { - Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(StringR.string.action_clear)) + Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(StringR.string.a11y_clear)) } } } else null, diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt index 0b8a09b42d..34ab45f8dc 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt @@ -101,7 +101,7 @@ fun LoginRootScreen( topBar = { TopAppBar( title = {}, - navigationIcon = { BackButton(action = onBackPressed, enabled = interactionEnabled) }, + navigationIcon = { BackButton(onClick = onBackPressed, enabled = interactionEnabled) }, ) } ) { padding -> @@ -267,7 +267,7 @@ internal fun LoginForm( IconButton(onClick = { loginFieldState = "" }) { - Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(StringR.string.action_clear)) + Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(StringR.string.a11y_clear)) } } } else null, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BackButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BackButton.kt index 8fb3989bd9..016999b960 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BackButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BackButton.kt @@ -16,32 +16,31 @@ package io.element.android.libraries.designsystem.theme.components +import androidx.annotation.DrawableRes import androidx.compose.foundation.layout.Column -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.ui.strings.R.string as StringR +import io.element.android.libraries.designsystem.R as DrawableR +import io.element.android.libraries.ui.strings.R as StringR @Composable fun BackButton( - action: () -> Unit, + onClick: () -> Unit, modifier: Modifier = Modifier, - icon: ImageVector = Icons.Default.ArrowBack, - contentDescription: String = stringResource(StringR.action_back), + @DrawableRes icon: Int = DrawableR.drawable.ic_arrow_back, + contentDescription: String = stringResource(StringR.string.a11y_back), enabled: Boolean = true ) { IconButton( modifier = modifier, - onClick = action, + onClick = onClick, enabled = enabled, ) { - Icon(imageVector = icon, contentDescription = contentDescription) + Icon(resourceId = icon, contentDescription = contentDescription) } } @@ -56,7 +55,7 @@ internal fun BackButtonPreviewDark() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { Column { - BackButton(action = { }, enabled = true, contentDescription = "Back") - BackButton(action = { }, enabled = false, contentDescription = "Back") + BackButton(onClick = { }, enabled = true, contentDescription = "Back") + BackButton(onClick = { }, enabled = false, contentDescription = "Back") } } diff --git a/libraries/ui-strings/src/main/res/values/strings_eax.xml b/libraries/ui-strings/src/main/res/values/strings_eax.xml index b2d63ec96c..e7c0a3cb78 100644 --- a/libraries/ui-strings/src/main/res/values/strings_eax.xml +++ b/libraries/ui-strings/src/main/res/values/strings_eax.xml @@ -2,20 +2,19 @@ - Back - Clear - + + Back + Clear + Enter your details Email or username Show password Hide password - What is the address of your server? You can only connect to an existing server that supports sliding sync. Your homeserver admin will need to configure it. Server not supported This server currently doesn\'t support sliding sync. - Back - Clear + Search for someone