Skip to content

Commit 01a367e

Browse files
committed
fix(ui): 补充模型选择图标并修复 Git 分支菜单国际化
1 parent e5cfd93 commit 01a367e

3 files changed

Lines changed: 19 additions & 9 deletions

File tree

app/src/main/java/com/aicode/feature/agent/presentation/component/AIChatPanel.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import com.aicode.feature.agent.presentation.AIAgentViewModel
7272
import com.aicode.feature.agent.presentation.hasVisibleContent
7373
import com.aicode.feature.agent.presentation.MessageRole
7474
import com.aicode.feature.settings.presentation.SettingsViewModel
75+
import com.aicode.feature.settings.presentation.component.ModelLogoIcon
7576
import com.aicode.feature.workspace.presentation.WorkspaceViewModel
7677
import compose.icons.FeatherIcons
7778
import compose.icons.feathericons.GitBranch
@@ -886,8 +887,11 @@ internal fun ChatHeader(
886887
)
887888
Row(
888889
verticalAlignment = Alignment.CenterVertically,
889-
horizontalArrangement = Arrangement.spacedBy(Spacing.sm)
890+
horizontalArrangement = Arrangement.spacedBy(Spacing.xs)
890891
) {
892+
if (!modelName.isNullOrBlank()) {
893+
ModelLogoIcon(modelName = modelName, size = 14.dp)
894+
}
891895
Text(
892896
text = modelName?.takeIf { it.isNotBlank() } ?: stringResource(R.string.chat_no_model_selected),
893897
style = MaterialTheme.typography.bodySmall,

app/src/main/java/com/aicode/feature/agent/presentation/component/ChatInputBar.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ import com.aicode.feature.agent.domain.permission.PermissionChoice
6565
import com.aicode.feature.agent.domain.tool.PendingToolPermission
6666
import com.aicode.feature.settings.domain.model.AIProviderConfig
6767
import com.aicode.feature.settings.presentation.component.ModelLogoIcon
68+
import com.aicode.feature.settings.presentation.component.ProviderLogoIcon
6869
import com.aicode.feature.workspace.presentation.WorkspaceViewModel
6970
import com.aicode.feature.workspace.presentation.component.WorkspaceIconButton
7071
import compose.icons.FeatherIcons
@@ -551,6 +552,8 @@ internal fun ModelSheet(
551552
modifier = Modifier.padding(top = Spacing.sm, bottom = Spacing.xs, start = Spacing.xs),
552553
verticalAlignment = Alignment.CenterVertically
553554
) {
555+
ProviderLogoIcon(provider = p, size = 16.dp)
556+
Spacer(Modifier.width(Spacing.xs))
554557
Text(
555558
text = p.name,
556559
style = MaterialTheme.typography.labelMedium,
@@ -588,6 +591,8 @@ internal fun ModelRow(
588591
.padding(horizontal = Spacing.md, vertical = Spacing.md),
589592
verticalAlignment = Alignment.CenterVertically
590593
) {
594+
ModelLogoIcon(modelName = name, size = 20.dp)
595+
Spacer(Modifier.width(Spacing.md))
591596
Text(
592597
text = name,
593598
style = MaterialTheme.typography.bodyLarge,

app/src/main/java/com/aicode/feature/git/presentation/component/GitScreen.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.aicode.feature.git.presentation.component
22

3+
import androidx.annotation.StringRes
34
import androidx.activity.compose.BackHandler
45
import androidx.compose.foundation.Canvas
56
import androidx.compose.foundation.ExperimentalFoundationApi
@@ -835,7 +836,7 @@ private fun BranchesTab(
835836
if (localBranches.isNotEmpty()) {
836837
item {
837838
RefSectionHeader(
838-
title = "Local (${localBranches.size})",
839+
title = "${stringResource(R.string.common_local)} (${localBranches.size})",
839840
isExpanded = isExpanded("local"),
840841
onToggle = { expanded["local"] = !isExpanded("local") },
841842
onAdd = { showCreateDialog = true }
@@ -858,7 +859,7 @@ private fun BranchesTab(
858859
if (remoteBranches.isNotEmpty()) {
859860
item {
860861
RefSectionHeader(
861-
title = "Remote (${remoteBranches.size})",
862+
title = "${stringResource(R.string.git_remote)} (${remoteBranches.size})",
862863
isExpanded = isExpanded("remote"),
863864
onToggle = { expanded["remote"] = !isExpanded("remote") }
864865
)
@@ -880,7 +881,7 @@ private fun BranchesTab(
880881
if (tags.isNotEmpty()) {
881882
item {
882883
RefSectionHeader(
883-
title = "Tags (${tags.size})",
884+
title = "${stringResource(R.string.git_tags)} (${tags.size})",
884885
isExpanded = isExpanded("tags"),
885886
onToggle = { expanded["tags"] = !isExpanded("tags") },
886887
onAdd = { showCreateTagDialog = true }
@@ -1007,14 +1008,14 @@ private fun RefSectionHeader(
10071008
* 分支/标签行可执行的操作项,用于长按弹出的操作菜单。
10081009
*/
10091010
private sealed class RefAction(
1010-
val label: String,
1011+
@StringRes val labelRes: Int,
10111012
val icon: ImageVector,
10121013
val isDestructive: Boolean,
10131014
val onClick: () -> Unit
10141015
) {
1015-
class Switch(onClick: () -> Unit) : RefAction("Switch", FeatherIcons.GitCommit, false, onClick)
1016-
class Rename(onClick: () -> Unit) : RefAction("Rename", FeatherIcons.Edit2, false, onClick)
1017-
class Delete(onClick: () -> Unit) : RefAction("Delete", FeatherIcons.Trash2, true, onClick)
1016+
class Switch(onClick: () -> Unit) : RefAction(R.string.common_switch, FeatherIcons.GitCommit, false, onClick)
1017+
class Rename(onClick: () -> Unit) : RefAction(R.string.common_rename, FeatherIcons.Edit2, false, onClick)
1018+
class Delete(onClick: () -> Unit) : RefAction(R.string.common_delete, FeatherIcons.Trash2, true, onClick)
10181019
}
10191020

10201021
@Composable
@@ -1144,7 +1145,7 @@ private fun RefActionSheet(
11441145
)
11451146
Spacer(Modifier.width(Spacing.lg))
11461147
Text(
1147-
text = action.label,
1148+
text = stringResource(action.labelRes),
11481149
style = MaterialTheme.typography.bodyLarge,
11491150
color = tint
11501151
)

0 commit comments

Comments
 (0)