diff --git a/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt
index 1c4f9fa..994347e 100644
--- a/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt
+++ b/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt
@@ -31,6 +31,8 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.AutoFixHigh
+import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.Contrast
import androidx.compose.material.icons.filled.Done
import androidx.compose.material.icons.filled.Palette
@@ -39,6 +41,8 @@ import androidx.compose.material.icons.filled.RotateRight
import androidx.compose.material.icons.outlined.Add
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.DropdownMenu
+import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -47,9 +51,11 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Size
@@ -240,23 +246,45 @@ fun ColorModeButton(
onToggle: () -> Unit,
modifier: Modifier = Modifier
) {
- val icon = when (currentColorMode) {
- COLOR -> Icons.Default.Palette
- GRAYSCALE -> Icons.Default.Contrast
- }
- val label = when (currentColorMode) {
- COLOR -> stringResource(R.string.color_mode_color)
- GRAYSCALE -> stringResource(R.string.color_mode_grayscale)
- }
- Column(
- horizontalAlignment = Alignment.CenterHorizontally,
- modifier = modifier
- ) {
+ var expanded by remember { mutableStateOf(false) }
+
+ Box(modifier = modifier) {
SecondaryActionButton(
- icon = icon,
- contentDescription = label,
- onClick = onToggle,
+ icon = Icons.Default.AutoFixHigh,
+ contentDescription = stringResource(R.string.color_mode),
+ onClick = { expanded = true },
)
+ DropdownMenu(
+ expanded = expanded,
+ onDismissRequest = { expanded = false },
+ ) {
+ DropdownMenuItem(
+ text = { Text(stringResource(R.string.color_mode_color)) },
+ leadingIcon = { Icon(Icons.Default.Palette, contentDescription = null) },
+ onClick = {
+ if (currentColorMode != COLOR) onToggle()
+ expanded = false
+ },
+ trailingIcon = {
+ if (currentColorMode == COLOR) {
+ Icon(Icons.Default.Check, contentDescription = null)
+ }
+ }
+ )
+ DropdownMenuItem(
+ text = { Text(stringResource(R.string.color_mode_grayscale)) },
+ leadingIcon = { Icon(Icons.Default.Contrast, contentDescription = null) },
+ onClick = {
+ if (currentColorMode != GRAYSCALE) onToggle()
+ expanded = false
+ },
+ trailingIcon = {
+ if (currentColorMode == GRAYSCALE) {
+ Icon(Icons.Default.Check, contentDescription = null)
+ }
+ }
+ )
+ }
}
}
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index bb3fb5f..7fbc1a2 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -8,6 +8,7 @@
ألغِ
غيّر المجلد
امحُ النص
+ فلتر
ألوان
تدرج الرمادي
تواصل
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 6511244..ec6afc1 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -8,6 +8,7 @@
Zrušit
Změnit složku
Smazat text
+ Filtr
Barva
Odstíny šedi
Kontakt
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index c8c4284..a04191e 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -8,6 +8,7 @@
Abbrechen
Ordner ändern
Text löschen
+ Filter
Farbe
Graustufen
Kontakt
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index df232b7..fed32b6 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -8,6 +8,7 @@
Cancelar
Cambiar carpeta
Borrar texto
+ Filtro
Color
Escala de grises
Contacto
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 2da31e7..bd6e4b7 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -8,6 +8,7 @@
Annuler
Changer de dossier
Effacer le text
+ Filtre
Couleur
Niveaux de gris
Contact
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 7141517..0b59584 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -8,6 +8,7 @@
Cancelar
Trocar cartafol
Borrar texto
+ Filtro
Cor
Escala de grises
Contacto
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 4325708..afb6c3e 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -8,6 +8,7 @@
Annulla
Cambia cartella
Svuota testo
+ Filtro
Colore
Scala di grigi
Contatti
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index ebfc517..808743e 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -8,6 +8,7 @@
Cancelar
Alterar diretório
Limpar texto
+ Filtro
Cor
Escala de cinza
Contato
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index b9ecbf2..8753352 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -11,6 +11,7 @@
Цвет
Оттенки серого
Контакты
+ Фильтр
Журналы скопированы в буфер обмена
Копировать журналы
Подготовка экспорта…
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index b6c45da..4850f5a 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -8,6 +8,7 @@
İptal
Dizini değiştir
Metni temizle
+ Filtre
Renkli
Gri tonlama
İletişim
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 40cdaab..7c94c7e 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -8,6 +8,7 @@
取消
變更目錄
清除文字
+ 濾鏡
彩色
灰階
聯絡我們
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 5a84a35..1f9f5ab 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -8,6 +8,7 @@
取消
更改目录
清除文字
+ 滤镜
彩色
灰度
联系人
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 90280e5..8c36928 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -9,6 +9,7 @@
Cancel
Change folder
Clear text
+ Filter
Color
Grayscale
Contact