diff --git a/app/src/main/java/xyz/quaver/pupil/ui/composable/MainScreen.kt b/app/src/main/java/xyz/quaver/pupil/ui/composable/MainScreen.kt
index 7942b85a..cdbb3b3f 100644
--- a/app/src/main/java/xyz/quaver/pupil/ui/composable/MainScreen.kt
+++ b/app/src/main/java/xyz/quaver/pupil/ui/composable/MainScreen.kt
@@ -61,6 +61,7 @@ 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.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
@@ -87,23 +88,74 @@ private val iconMap = mapOf(
"series" to Icons.Default.Book,
"type" to Icons.Default.Folder,
"language" to Icons.Default.Translate,
- "tag" to Icons.Default.LocalOffer
+ "tag" to Icons.Default.LocalOffer,
+)
+
+private val languageMap = mapOf(
+ "indonesian" to R.drawable.language_indonesian,
+ "javanese" to R.drawable.language_javanese,
+ "catalan" to R.drawable.language_catalan,
+ "cebuano" to R.drawable.language_philippines,
+ "czech" to R.drawable.language_czech,
+ "danish" to R.drawable.language_danish,
+ "german" to R.drawable.language_german,
+ "estonian" to R.drawable.language_estonian,
+ "english" to R.drawable.language_english,
+ "spanish" to R.drawable.language_spanish,
+ "french" to R.drawable.language_french,
+ "italian" to R.drawable.language_italian,
+ "latin" to R.drawable.language_latin,
+ "hungarian" to R.drawable.language_hungarian,
+ "dutch" to R.drawable.language_dutch,
+ "norwegian" to R.drawable.language_norwegian,
+ "polish" to R.drawable.language_polish,
+ "portuguese" to R.drawable.language_portuguese,
+ "romanian" to R.drawable.language_romanian,
+ "albanian" to R.drawable.language_albanian,
+ "slovak" to R.drawable.language_slovak,
+ "finnish" to R.drawable.language_finnish,
+ "swedish" to R.drawable.language_swedish,
+ "tagalog" to R.drawable.language_philippines,
+ "vietnamese" to R.drawable.language_vietnamese,
+ "turkish" to R.drawable.language_turkish,
+ "greek" to R.drawable.language_greek,
+ "mongolian" to R.drawable.language_mongolian,
+ "russian" to R.drawable.language_russian,
+ "ukrainian" to R.drawable.language_ukrainian,
+ "hebrew" to R.drawable.language_hebrew,
+ "persian" to R.drawable.language_persian,
+ "thai" to R.drawable.language_thai,
+ "korean" to R.drawable.language_korean,
+ "chinese" to R.drawable.language_chinese,
+ "japanese" to R.drawable.language_japanese,
)
@Composable
fun TagChipIcon(tag: SearchQuery.Tag) {
val icon = iconMap[tag.namespace]
- if (icon != null)
- Icon(
- icon,
- contentDescription = "icon",
- modifier = Modifier
- .padding(4.dp)
- .size(24.dp)
- )
- else
+ if (icon != null) {
+ if (tag.namespace == "language" && languageMap.contains(tag.tag)) {
+ Icon(
+ painter = painterResource(languageMap[tag.tag]!!),
+ contentDescription = "icon",
+ modifier = Modifier
+ .padding(4.dp)
+ .size(24.dp),
+ tint = Color.Unspecified
+ )
+ } else {
+ Icon(
+ icon,
+ contentDescription = "icon",
+ modifier = Modifier
+ .padding(4.dp)
+ .size(24.dp)
+ )
+ }
+ } else {
Spacer(Modifier.width(16.dp))
+ }
}
@Composable
@@ -163,10 +215,9 @@ fun TagChip(
)
}
-@Preview
@Composable
fun QueryView(
- @PreviewParameter(SearchQueryPreviewParameterProvider::class) query: SearchQuery,
+ query: SearchQuery,
topLevel: Boolean = true
) {
val modifier = if (topLevel) {
@@ -188,9 +239,9 @@ fun QueryView(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(4.dp),
) {
- query.queries.forEachIndexed { index, subquery ->
+ query.queries.forEachIndexed { index, subQuery ->
if (index != 0) { Text("+") }
- QueryView(subquery, topLevel = false)
+ QueryView(subQuery, topLevel = false)
}
}
}
@@ -287,7 +338,9 @@ fun SearchBar(
.horizontalScroll(rememberScrollState()),
verticalAlignment = Alignment.CenterVertically
) {
+ Box(Modifier.size(8.dp))
QueryView(query!!)
+ Box(Modifier.size(8.dp))
}
}
androidx.compose.animation.AnimatedVisibility(focused, enter = fadeIn(), exit = fadeOut()) {
diff --git a/app/src/main/java/xyz/quaver/pupil/ui/composable/QueryEditor.kt b/app/src/main/java/xyz/quaver/pupil/ui/composable/QueryEditor.kt
index ad3dc43c..cded18b0 100644
--- a/app/src/main/java/xyz/quaver/pupil/ui/composable/QueryEditor.kt
+++ b/app/src/main/java/xyz/quaver/pupil/ui/composable/QueryEditor.kt
@@ -121,7 +121,7 @@ fun EditableTagChip(
enabled: Boolean = true,
leftIcon: @Composable (SearchQuery.Tag) -> Unit = { tag -> TagChipIcon(tag) },
rightIcon: @Composable (SearchQuery.Tag) -> Unit = { _ -> Spacer(Modifier.width(16.dp)) },
- content: @Composable (SearchQuery.Tag) -> Unit = { tag -> Text(tag.tag) },
+ content: @Composable (SearchQuery.Tag) -> Unit = { tag -> Text(tag.tag.ifBlank { stringResource(R.string.search_bar_edit_tag) }) },
) {
val namespace by state.namespace
val tag by state.tag
diff --git a/app/src/main/res/drawable/language_albanian.xml b/app/src/main/res/drawable/language_albanian.xml
new file mode 100644
index 00000000..5cb2b576
--- /dev/null
+++ b/app/src/main/res/drawable/language_albanian.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_catalan.xml b/app/src/main/res/drawable/language_catalan.xml
new file mode 100644
index 00000000..df377086
--- /dev/null
+++ b/app/src/main/res/drawable/language_catalan.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_chinese.xml b/app/src/main/res/drawable/language_chinese.xml
new file mode 100644
index 00000000..bf5df567
--- /dev/null
+++ b/app/src/main/res/drawable/language_chinese.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_czech.xml b/app/src/main/res/drawable/language_czech.xml
new file mode 100644
index 00000000..a7dd98bb
--- /dev/null
+++ b/app/src/main/res/drawable/language_czech.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_danish.xml b/app/src/main/res/drawable/language_danish.xml
new file mode 100644
index 00000000..4138ceb3
--- /dev/null
+++ b/app/src/main/res/drawable/language_danish.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_dutch.xml b/app/src/main/res/drawable/language_dutch.xml
new file mode 100644
index 00000000..6571b88b
--- /dev/null
+++ b/app/src/main/res/drawable/language_dutch.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_english.xml b/app/src/main/res/drawable/language_english.xml
new file mode 100644
index 00000000..15e94ca9
--- /dev/null
+++ b/app/src/main/res/drawable/language_english.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_estonian.xml b/app/src/main/res/drawable/language_estonian.xml
new file mode 100644
index 00000000..6d6de569
--- /dev/null
+++ b/app/src/main/res/drawable/language_estonian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_finnish.xml b/app/src/main/res/drawable/language_finnish.xml
new file mode 100644
index 00000000..99051e2d
--- /dev/null
+++ b/app/src/main/res/drawable/language_finnish.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_french.xml b/app/src/main/res/drawable/language_french.xml
new file mode 100644
index 00000000..9793a6d0
--- /dev/null
+++ b/app/src/main/res/drawable/language_french.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_german.xml b/app/src/main/res/drawable/language_german.xml
new file mode 100644
index 00000000..dcbc1943
--- /dev/null
+++ b/app/src/main/res/drawable/language_german.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_greek.xml b/app/src/main/res/drawable/language_greek.xml
new file mode 100644
index 00000000..e7978b04
--- /dev/null
+++ b/app/src/main/res/drawable/language_greek.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_hebrew.xml b/app/src/main/res/drawable/language_hebrew.xml
new file mode 100644
index 00000000..a9c68c70
--- /dev/null
+++ b/app/src/main/res/drawable/language_hebrew.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_hungarian.xml b/app/src/main/res/drawable/language_hungarian.xml
new file mode 100644
index 00000000..a13e7bb2
--- /dev/null
+++ b/app/src/main/res/drawable/language_hungarian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_indonesian.xml b/app/src/main/res/drawable/language_indonesian.xml
new file mode 100644
index 00000000..934b0b78
--- /dev/null
+++ b/app/src/main/res/drawable/language_indonesian.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_italian.xml b/app/src/main/res/drawable/language_italian.xml
new file mode 100644
index 00000000..762cad05
--- /dev/null
+++ b/app/src/main/res/drawable/language_italian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_japanese.xml b/app/src/main/res/drawable/language_japanese.xml
new file mode 100644
index 00000000..8a4858e7
--- /dev/null
+++ b/app/src/main/res/drawable/language_japanese.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_javanese.xml b/app/src/main/res/drawable/language_javanese.xml
new file mode 100644
index 00000000..6674c1c8
--- /dev/null
+++ b/app/src/main/res/drawable/language_javanese.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_korean.xml b/app/src/main/res/drawable/language_korean.xml
new file mode 100644
index 00000000..8761bdbe
--- /dev/null
+++ b/app/src/main/res/drawable/language_korean.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_latin.xml b/app/src/main/res/drawable/language_latin.xml
new file mode 100644
index 00000000..37c4fcf2
--- /dev/null
+++ b/app/src/main/res/drawable/language_latin.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_mongolian.xml b/app/src/main/res/drawable/language_mongolian.xml
new file mode 100644
index 00000000..cb8452ec
--- /dev/null
+++ b/app/src/main/res/drawable/language_mongolian.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_norwegian.xml b/app/src/main/res/drawable/language_norwegian.xml
new file mode 100644
index 00000000..d098b836
--- /dev/null
+++ b/app/src/main/res/drawable/language_norwegian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_persian.xml b/app/src/main/res/drawable/language_persian.xml
new file mode 100644
index 00000000..fa43d72e
--- /dev/null
+++ b/app/src/main/res/drawable/language_persian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_philippines.xml b/app/src/main/res/drawable/language_philippines.xml
new file mode 100644
index 00000000..6eb8824a
--- /dev/null
+++ b/app/src/main/res/drawable/language_philippines.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_polish.xml b/app/src/main/res/drawable/language_polish.xml
new file mode 100644
index 00000000..9cd16377
--- /dev/null
+++ b/app/src/main/res/drawable/language_polish.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_portuguese.xml b/app/src/main/res/drawable/language_portuguese.xml
new file mode 100644
index 00000000..9bf2644b
--- /dev/null
+++ b/app/src/main/res/drawable/language_portuguese.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_romanian.xml b/app/src/main/res/drawable/language_romanian.xml
new file mode 100644
index 00000000..ba00bc33
--- /dev/null
+++ b/app/src/main/res/drawable/language_romanian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_russian.xml b/app/src/main/res/drawable/language_russian.xml
new file mode 100644
index 00000000..12ddc669
--- /dev/null
+++ b/app/src/main/res/drawable/language_russian.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_slovak.xml b/app/src/main/res/drawable/language_slovak.xml
new file mode 100644
index 00000000..8e302c7a
--- /dev/null
+++ b/app/src/main/res/drawable/language_slovak.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_spanish.xml b/app/src/main/res/drawable/language_spanish.xml
new file mode 100644
index 00000000..82664488
--- /dev/null
+++ b/app/src/main/res/drawable/language_spanish.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_swedish.xml b/app/src/main/res/drawable/language_swedish.xml
new file mode 100644
index 00000000..0fb48aa5
--- /dev/null
+++ b/app/src/main/res/drawable/language_swedish.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_thai.xml b/app/src/main/res/drawable/language_thai.xml
new file mode 100644
index 00000000..50318e15
--- /dev/null
+++ b/app/src/main/res/drawable/language_thai.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_turkish.xml b/app/src/main/res/drawable/language_turkish.xml
new file mode 100644
index 00000000..78fef36a
--- /dev/null
+++ b/app/src/main/res/drawable/language_turkish.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_ukrainian.xml b/app/src/main/res/drawable/language_ukrainian.xml
new file mode 100644
index 00000000..28cc248e
--- /dev/null
+++ b/app/src/main/res/drawable/language_ukrainian.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/language_vietnamese.xml b/app/src/main/res/drawable/language_vietnamese.xml
new file mode 100644
index 00000000..ae51abe3
--- /dev/null
+++ b/app/src/main/res/drawable/language_vietnamese.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 9cda1c27..d1ca5fcc 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -164,4 +164,5 @@
メニューを閉じる
検索構文を除去
タグ
+ タッチして編集
\ No newline at end of file
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 376159d7..6c2c049b 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -164,4 +164,5 @@
메뉴 닫기
검색 구문 제거
태그
+ 터치하여 수정
\ 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 5e2bcd72..2f64a77a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -112,6 +112,9 @@
Language: %1$s
%dP
+
+ Touch to edit
+
Loading