Skip to content

Commit 6430160

Browse files
committed
chore: UI and locale improvements
Asthetic stuff and placing stuff better to look better, core functions not touched
1 parent a724e9f commit 6430160

6 files changed

Lines changed: 95 additions & 59 deletions

File tree

app/src/main/java/tridefender/llama/snapdragon/ui/launcher/AllConfigScreen.kt

Lines changed: 75 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import androidx.compose.animation.fadeIn
1111
import androidx.compose.animation.fadeOut
1212
import androidx.compose.animation.shrinkVertically
1313
import androidx.compose.foundation.layout.*
14+
import androidx.compose.foundation.clickable
15+
import androidx.compose.foundation.horizontalScroll
1416
import androidx.compose.foundation.lazy.LazyColumn
1517
import androidx.compose.foundation.lazy.items
1618
import androidx.compose.foundation.rememberScrollState
@@ -311,8 +313,12 @@ fun ModelSection(
311313
contentDescription = null,
312314
modifier = Modifier.size(18.dp)
313315
)
314-
Spacer(modifier = Modifier.width(6.dp))
315-
Text(stringResource(R.string.hf_model_picker))
316+
Spacer(modifier = Modifier.width(4.dp))
317+
Text(
318+
text = stringResource(R.string.hf_model_picker),
319+
maxLines = 1,
320+
overflow = TextOverflow.Clip
321+
)
316322
}
317323
Row(verticalAlignment = Alignment.CenterVertically) {
318324
TextButton(onClick = onManageModels) {
@@ -321,17 +327,25 @@ fun ModelSection(
321327
contentDescription = null,
322328
modifier = Modifier.size(18.dp)
323329
)
324-
Spacer(modifier = Modifier.width(6.dp))
325-
Text(stringResource(R.string.manage_models))
330+
Spacer(modifier = Modifier.width(4.dp))
331+
Text(
332+
text = stringResource(R.string.manage_models),
333+
maxLines = 1,
334+
overflow = TextOverflow.Clip
335+
)
326336
}
327337
TextButton(onClick = onBrowseClick) {
328338
Icon(
329339
Icons.Default.Folder,
330340
contentDescription = null,
331341
modifier = Modifier.size(18.dp)
332342
)
333-
Spacer(modifier = Modifier.width(6.dp))
334-
Text(stringResource(R.string.browse))
343+
Spacer(modifier = Modifier.width(4.dp))
344+
Text(
345+
text = stringResource(R.string.browse_model),
346+
maxLines = 1,
347+
overflow = TextOverflow.Clip
348+
)
335349
}
336350
}
337351
}
@@ -865,24 +879,15 @@ private fun HuggingFaceModelPickerDialog(
865879
) {
866880
if (state.selectedRepoId == null) {
867881
items(state.searchResults) { repo ->
868-
ListItem(
869-
headlineContent = {
870-
Text(repo.modelId, maxLines = 1, overflow = TextOverflow.Ellipsis)
871-
},
872-
supportingContent = {
873-
Text(
874-
stringResource(
875-
R.string.hf_model_stats,
876-
repo.downloads ?: 0,
877-
repo.likes ?: 0
878-
)
879-
)
880-
},
881-
trailingContent = {
882-
TextButton(onClick = { onRepoSelect(repo.modelId) }) {
883-
Text(stringResource(R.string.select))
884-
}
885-
}
882+
HfPickerCard(
883+
title = repo.modelId,
884+
subtitle = stringResource(
885+
R.string.hf_model_stats,
886+
repo.downloads ?: 0,
887+
repo.likes ?: 0
888+
),
889+
enabled = state.downloadFileName == null,
890+
onClick = { onRepoSelect(repo.modelId) }
886891
)
887892
}
888893
} else {
@@ -892,21 +897,11 @@ private fun HuggingFaceModelPickerDialog(
892897
}
893898
}
894899
items(state.files) { file ->
895-
ListItem(
896-
headlineContent = {
897-
Text(file.fileName, maxLines = 1, overflow = TextOverflow.Ellipsis)
898-
},
899-
supportingContent = {
900-
Text(file.sizeBytes?.let { formatBytes(it) } ?: stringResource(R.string.unknown_size))
901-
},
902-
trailingContent = {
903-
TextButton(
904-
onClick = { onDownload(file) },
905-
enabled = state.downloadFileName == null
906-
) {
907-
Text(stringResource(R.string.download))
908-
}
909-
}
900+
HfPickerCard(
901+
title = file.fileName,
902+
subtitle = file.sizeBytes?.let { formatBytes(it) },
903+
enabled = state.downloadFileName == null,
904+
onClick = { onDownload(file) }
910905
)
911906
}
912907
}
@@ -930,6 +925,47 @@ private fun HuggingFaceModelPickerDialog(
930925
)
931926
}
932927

928+
@Composable
929+
private fun HfPickerCard(
930+
title: String,
931+
subtitle: String?,
932+
enabled: Boolean,
933+
onClick: () -> Unit
934+
) {
935+
Surface(
936+
modifier = Modifier
937+
.fillMaxWidth()
938+
.clickable(enabled = enabled, onClick = onClick),
939+
shape = RoundedCornerShape(12.dp),
940+
color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.72f)
941+
) {
942+
Column(
943+
modifier = Modifier.padding(horizontal = 16.dp, vertical = 14.dp),
944+
verticalArrangement = Arrangement.spacedBy(6.dp)
945+
) {
946+
Text(
947+
text = title,
948+
modifier = Modifier
949+
.fillMaxWidth()
950+
.horizontalScroll(rememberScrollState()),
951+
maxLines = 1,
952+
softWrap = false,
953+
style = MaterialTheme.typography.titleMedium,
954+
fontWeight = FontWeight.SemiBold
955+
)
956+
subtitle?.let {
957+
Text(
958+
text = it,
959+
maxLines = 1,
960+
overflow = TextOverflow.Ellipsis,
961+
style = MaterialTheme.typography.bodyMedium,
962+
color = MaterialTheme.colorScheme.onSurfaceVariant
963+
)
964+
}
965+
}
966+
}
967+
}
968+
933969
@Composable
934970
fun ConfigSectionCard(
935971
title: String,

app/src/main/res/values-fr/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,18 @@
143143
<string name="some_features_may_not_work">Certaines fonctions peuvent ne pas fonctionner correctement.</string>
144144
<string name="model_config">Configuration du modele</string>
145145
<string name="tap_to_select_model_file">Touchez pour choisir un fichier modele</string>
146-
<string name="hf_model_picker">Selecteur de modeles HF</string>
147-
<string name="hf_search_hint">Rechercher des modeles GGUF sur Hugging Face</string>
146+
<string name="hf_model_picker">Decouvrir</string>
147+
<string name="hf_search_hint">Nom du modele</string>
148148
<string name="hf_model_stats">%1$d telechargements - %2$d likes</string>
149149
<string name="hf_back_to_results">Retour aux resultats</string>
150150
<string name="downloading_model">Telechargement de %1$s...</string>
151-
<string name="manage_models">Gerer les modeles</string>
151+
<string name="manage_models">Gerer</string>
152+
<string name="browse_model">Parcourir</string>
152153
<string name="model_cache_folder">Dossier cache des modeles</string>
153154
<string name="rename_model">Renommer le modele</string>
154155
<string name="delete_model">Supprimer le modele</string>
155156
<string name="delete_model_message">Supprimer \'%1$s\' du cache des modeles ? Cette action est irreversible.</string>
156157
<string name="model_name">Nom du modele</string>
157-
<string name="unknown_size">Taille inconnue</string>
158158
<string name="selected_model_with_size">Selectionne - %1$s</string>
159159
<string name="no_cached_models">Aucun modele GGUF en cache. Parcourez pour en importer un.</string>
160160
<string name="cached_models_count">%1$d modele(s) GGUF en cache</string>

app/src/main/res/values-ja/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,18 @@
143143
<string name="some_features_may_not_work">一部の機能が正しく動作しない可能性があります。</string>
144144
<string name="model_config">モデル設定</string>
145145
<string name="tap_to_select_model_file">タップしてモデルファイルを選択</string>
146-
<string name="hf_model_picker">HF モデルピッカー</string>
147-
<string name="hf_search_hint">Hugging Face の GGUF モデルを検索</string>
146+
<string name="hf_model_picker">検索</string>
147+
<string name="hf_search_hint">モデル名</string>
148148
<string name="hf_model_stats">%1$d ダウンロード - %2$d likes</string>
149149
<string name="hf_back_to_results">結果に戻る</string>
150150
<string name="downloading_model">%1$s をダウンロード中...</string>
151-
<string name="manage_models">モデル管理</string>
151+
<string name="manage_models">管理</string>
152+
<string name="browse_model">参照</string>
152153
<string name="model_cache_folder">モデルキャッシュフォルダー</string>
153154
<string name="rename_model">モデル名を変更</string>
154155
<string name="delete_model">モデルを削除</string>
155156
<string name="delete_model_message">モデルキャッシュから \'%1$s\' を削除しますか?この操作は元に戻せません。</string>
156157
<string name="model_name">モデル名</string>
157-
<string name="unknown_size">サイズ不明</string>
158158
<string name="selected_model_with_size">選択中 - %1$s</string>
159159
<string name="no_cached_models">キャッシュ済み GGUF モデルはまだありません。参照してインポートしてください。</string>
160160
<string name="cached_models_count">キャッシュ済み GGUF モデル: %1$d</string>

app/src/main/res/values-ru/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,18 @@
143143
<string name="some_features_may_not_work">Некоторые функции могут работать некорректно.</string>
144144
<string name="model_config">Настройка модели</string>
145145
<string name="tap_to_select_model_file">Нажмите, чтобы выбрать файл модели</string>
146-
<string name="hf_model_picker">Выбор HF-модели</string>
147-
<string name="hf_search_hint">Искать GGUF-модели на Hugging Face</string>
146+
<string name="hf_model_picker">Поиск</string>
147+
<string name="hf_search_hint">Имя модели</string>
148148
<string name="hf_model_stats">%1$d скачиваний - %2$d лайков</string>
149149
<string name="hf_back_to_results">Назад к результатам</string>
150150
<string name="downloading_model">Скачивание %1$s...</string>
151-
<string name="manage_models">Управление моделями</string>
151+
<string name="manage_models">Правка</string>
152+
<string name="browse_model">Обзор</string>
152153
<string name="model_cache_folder">Папка кэша моделей</string>
153154
<string name="rename_model">Переименовать модель</string>
154155
<string name="delete_model">Удалить модель</string>
155156
<string name="delete_model_message">Удалить \'%1$s\' из кэша моделей? Это действие нельзя отменить.</string>
156157
<string name="model_name">Имя модели</string>
157-
<string name="unknown_size">Размер неизвестен</string>
158158
<string name="selected_model_with_size">Выбрано - %1$s</string>
159159
<string name="no_cached_models">В кэше пока нет GGUF-моделей. Импортируйте модель через обзор файлов.</string>
160160
<string name="cached_models_count">GGUF-моделей в кэше: %1$d</string>

app/src/main/res/values-zh/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,18 +159,18 @@
159159
<string name="some_features_may_not_work">某些功能可能无法正常工作。</string>
160160
<string name="model_config">模型配置</string>
161161
<string name="tap_to_select_model_file">点击选择模型文件</string>
162-
<string name="hf_model_picker">HF 模型选择器</string>
163-
<string name="hf_search_hint">搜索 Hugging Face GGUF 模型</string>
162+
<string name="hf_model_picker">搜索</string>
163+
<string name="hf_search_hint">模型名称</string>
164164
<string name="hf_model_stats">%1$d 次下载 - %2$d 个赞</string>
165165
<string name="hf_back_to_results">返回结果</string>
166166
<string name="downloading_model">正在下载 %1$s...</string>
167-
<string name="manage_models">管理模型</string>
167+
<string name="manage_models">管理</string>
168+
<string name="browse_model">浏览</string>
168169
<string name="model_cache_folder">模型缓存文件夹</string>
169170
<string name="rename_model">重命名模型</string>
170171
<string name="delete_model">删除模型</string>
171172
<string name="delete_model_message">从模型缓存中删除“%1$s”?此操作无法撤销。</string>
172173
<string name="model_name">模型名称</string>
173-
<string name="unknown_size">大小未知</string>
174174
<string name="selected_model_with_size">已选择 - %1$s</string>
175175
<string name="no_cached_models">还没有缓存的 GGUF 模型。浏览并导入一个模型。</string>
176176
<string name="cached_models_count">已缓存 %1$d 个 GGUF 模型</string>

app/src/main/res/values/strings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,18 +169,18 @@
169169
<!-- Main config -->
170170
<string name="model_config">Model Configuration</string>
171171
<string name="tap_to_select_model_file">Tap to select a model file</string>
172-
<string name="hf_model_picker">HF Model Picker</string>
173-
<string name="hf_search_hint">Search Hugging Face GGUF models</string>
172+
<string name="hf_model_picker">Search</string>
173+
<string name="hf_search_hint">Model name</string>
174174
<string name="hf_model_stats">%1$d downloads - %2$d likes</string>
175175
<string name="hf_back_to_results">Back to results</string>
176176
<string name="downloading_model">Downloading %1$s...</string>
177-
<string name="manage_models">Manage Models</string>
177+
<string name="manage_models">Manage</string>
178+
<string name="browse_model">Browse</string>
178179
<string name="model_cache_folder">Model cache folder</string>
179180
<string name="rename_model">Rename Model</string>
180181
<string name="delete_model">Delete Model</string>
181182
<string name="delete_model_message">Delete \'%1$s\' from the model cache? This cannot be undone.</string>
182183
<string name="model_name">Model name</string>
183-
<string name="unknown_size">Unknown size</string>
184184
<string name="selected_model_with_size">Selected - %1$s</string>
185185
<string name="no_cached_models">No cached GGUF models yet. Browse to import one.</string>
186186
<string name="cached_models_count">%1$d cached GGUF model(s)</string>

0 commit comments

Comments
 (0)