diff --git a/app/src/main/java/com/sadellie/unitto/MainActivity.kt b/app/src/main/java/com/sadellie/unitto/MainActivity.kt
index 552a2c4c..15c6aa2a 100644
--- a/app/src/main/java/com/sadellie/unitto/MainActivity.kt
+++ b/app/src/main/java/com/sadellie/unitto/MainActivity.kt
@@ -133,6 +133,7 @@ fun UnittoApp(
currentUnit = mainViewModel.unitTo,
navigateUp = { navController.navigateUp() },
selectAction = { mainViewModel.changeUnitTo(it) },
+ navigateToSettingsActtion = { navController.navigate(UNIT_GROUPS_SCREEN) },
viewModel = secondViewModel,
inputValue = mainViewModel.mainUIState.inputValue.toBigDecimal(),
unitFrom = mainViewModel.unitFrom
diff --git a/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt b/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt
index 4054be90..74d94870 100644
--- a/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt
+++ b/app/src/main/java/com/sadellie/unitto/screens/second/SecondScreen.kt
@@ -49,6 +49,7 @@ import java.math.BigDecimal
*
* @param currentUnit Currently selected [AbstractUnit].
* @param navigateUp Action to navigate up. Called when user click back button.
+ * @param navigateToSettingsActtion Action to perform when clicking open settings in placeholder.
* @param selectAction Action to perform when user clicks on [UnitListItem].
* @param viewModel [SecondViewModel].
* @param chipsRow Composable that is placed under TopAppBar. See [ChipsRow]
@@ -61,6 +62,7 @@ import java.math.BigDecimal
private fun BasicUnitListScreen(
currentUnit: AbstractUnit,
navigateUp: () -> Unit,
+ navigateToSettingsActtion: () -> Unit,
selectAction: (AbstractUnit) -> Unit,
viewModel: SecondViewModel,
chipsRow: @Composable (UnitGroup?, LazyListState) -> Unit = {_, _->},
@@ -102,7 +104,7 @@ private fun BasicUnitListScreen(
)
}
if (uiState.unitsToShow.isEmpty()) {
- item { SearchPlaceholder() }
+ item { SearchPlaceholder(navigateToSettingsActtion) }
return@LazyColumn
}
uiState.unitsToShow.forEach { (unitGroup, listOfUnits) ->
@@ -149,6 +151,7 @@ fun LeftSideScreen(
) = BasicUnitListScreen(
currentUnit = currentUnit,
navigateUp = navigateUp,
+ navigateToSettingsActtion = navigateToSettingsActtion,
selectAction = selectAction,
viewModel = viewModel,
chipsRow = { unitGroup, lazyListState ->
@@ -180,6 +183,7 @@ fun LeftSideScreen(
*
* @param currentUnit Currently selected [AbstractUnit].
* @param navigateUp Action to navigate up. Called when user click back button.
+ * @param navigateToSettingsActtion Action to perform when clicking settings chip at the end.
* @param selectAction Action to perform when user clicks on [UnitListItem].
* @param viewModel [SecondViewModel].
* @param inputValue Current input value (upper text field on MainScreen)
@@ -189,6 +193,7 @@ fun LeftSideScreen(
fun RightSideScreen(
currentUnit: AbstractUnit,
navigateUp: () -> Unit,
+ navigateToSettingsActtion: () -> Unit,
selectAction: (AbstractUnit) -> Unit,
viewModel: SecondViewModel,
inputValue: BigDecimal,
@@ -196,6 +201,7 @@ fun RightSideScreen(
) = BasicUnitListScreen(
currentUnit = currentUnit,
navigateUp = navigateUp,
+ navigateToSettingsActtion = navigateToSettingsActtion,
selectAction = selectAction,
viewModel = viewModel,
unitsListItem = { unit, selectUnitAction ->
diff --git a/app/src/main/java/com/sadellie/unitto/screens/second/components/SearchPlaceholder.kt b/app/src/main/java/com/sadellie/unitto/screens/second/components/SearchPlaceholder.kt
index af1a42a5..3522c7da 100644
--- a/app/src/main/java/com/sadellie/unitto/screens/second/components/SearchPlaceholder.kt
+++ b/app/src/main/java/com/sadellie/unitto/screens/second/components/SearchPlaceholder.kt
@@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.SearchOff
+import androidx.compose.material3.ElevatedButton
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
@@ -39,15 +40,16 @@ import com.sadellie.unitto.R
/**
* Placeholder that can be seen when there are no units found
*
+ * @param navigateToSettingsActtion Action to perform when clicking open settings button.
*/
@Composable
-fun SearchPlaceholder() {
+fun SearchPlaceholder(navigateToSettingsActtion: () -> Unit) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
- verticalArrangement = Arrangement.Center
+ verticalArrangement = Arrangement.spacedBy(16.dp)
) {
// Big icon in the middle
Icon(
@@ -67,5 +69,9 @@ fun SearchPlaceholder() {
textAlign = TextAlign.Center,
style = MaterialTheme.typography.bodySmall
)
+ // Open settings button
+ ElevatedButton(onClick = navigateToSettingsActtion) {
+ Text(text = stringResource(id = R.string.search_placeholder_button_label))
+ }
}
}
diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml
index 6ced7c11..c82f8328 100644
--- a/app/src/main/res/values-en-rGB/strings.xml
+++ b/app/src/main/res/values-en-rGB/strings.xml
@@ -724,7 +724,7 @@
Cancel
Search units
No results found
- Make sure there are no typos or try different filters
+ Make sure there are no typos, try different filters or check for disabled unit groups.
Navigate up
@@ -742,5 +742,6 @@
Open or close drop down menu
Hello!
Unit groups
+ Open settings
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 4081e1c0..2aa4d5b8 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -528,7 +528,7 @@
Отмена
Поиск величин
Не найдено
- Убедитесь в отсутствии опечаток или попробуйте другие фильтры
+ Убедитесь в отсутствии опечаток, попробуйте другие фильтры или проверьте отключенные величины.
Навигация наверх
Выбранный фильтр
Открыть настройки
@@ -677,5 +677,6 @@
Открыть или закрыть меню
Привет!
Группы величин
+ Открыть настройки
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9041485a..507ae405 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1004,7 +1004,8 @@
OK
Search units
No results found
- Make sure there are no typos or try different filters
+ Open settings
+ Make sure there are no typos, try different filters or check for disabled unit groups.
Hello!