feat(settings): 退出登录从小图标按钮改成带文字的危险行条目,图标换 Remove(W52C)
设置页最底部原来是一枚居中、无文字的图标按钮,图标用的还是「返回」箭头(MiuixIcons.Back), 真机上看着就是返回键——主人为此翻半天才找到登出在哪。这是本次改动的由来。 - 改成 Miuix 行条目(BasicComponent + 外层 PreferenceCard,与同页其它条目同形),文字「退出登录」, 标题与图标都用 MiuixTheme.colorScheme.error 危险色。 - 图标换成 MiuixIcons.Remove:Miuix 里没有专门的登出/退出字形(Basic 只有 7 个图标), extended 里只有它画的是「箭头离开方框」,语义最接近「退出」;Back 是本条要修的毛病, Import 方向相反(箭头进方框=导入/登录),Delete/Refresh 之类会被误读成删号或重来。 - 图标 contentDescription 置 null:文字已经把这条读出来了,图标再报一遍只会让读屏重复。 行为一字不变:仍然点了就登出(onLogout 一路接到 CyreneApp 里的 authManager.logout()), 没有新增确认流程。
This commit is contained in:
1 parent
4fce12249e
commit
85818105ce
1 file changed
+15
-17
@@ -1,11 +1,8 @@
|
||||
package top.yeij.cyrene.ui.settings
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
@@ -14,7 +11,6 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -25,15 +21,16 @@ import top.yeij.cyrene.core.prefs.InterruptMode
|
||||
import top.yeij.cyrene.core.prefs.ThemeMode
|
||||
import top.yeij.cyrene.ui.common.PreferenceCard
|
||||
import top.yukonga.miuix.kmp.basic.BasicComponent
|
||||
import top.yukonga.miuix.kmp.basic.BasicComponentDefaults
|
||||
import top.yukonga.miuix.kmp.basic.Icon
|
||||
import top.yukonga.miuix.kmp.basic.IconButton
|
||||
import top.yukonga.miuix.kmp.basic.Scaffold
|
||||
import top.yukonga.miuix.kmp.basic.SmallTopAppBar
|
||||
import top.yukonga.miuix.kmp.basic.Text
|
||||
import top.yukonga.miuix.kmp.icon.MiuixIcons
|
||||
import top.yukonga.miuix.kmp.icon.extended.Back
|
||||
import top.yukonga.miuix.kmp.icon.extended.ChevronBackward
|
||||
import top.yukonga.miuix.kmp.icon.extended.ChevronForward
|
||||
import top.yukonga.miuix.kmp.icon.extended.Remove
|
||||
import top.yukonga.miuix.kmp.preference.SwitchPreference
|
||||
import top.yukonga.miuix.kmp.theme.MiuixTheme
|
||||
|
||||
@@ -149,22 +146,23 @@ fun SettingsScreen(
|
||||
}
|
||||
|
||||
Spacer(Modifier.height(32.dp))
|
||||
// 图标不能再用 Back(左箭头)——真机上它看着就是「返回」,这条曾经难找得主人翻了半天。
|
||||
// Miuix 没有专门的登出/退出字形(Basic 只有 7 个图标),extended 里最贴切的是 Remove:
|
||||
// 它画的是「箭头离开方框」,语义就是移出/离开。
|
||||
PreferenceCard {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 8.dp),
|
||||
horizontalArrangement = Arrangement.Center,
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
IconButton(onClick = onLogout) {
|
||||
BasicComponent(
|
||||
title = "退出登录",
|
||||
titleColor = BasicComponentDefaults.titleColor(color = MiuixTheme.colorScheme.error),
|
||||
startAction = {
|
||||
Icon(
|
||||
imageVector = MiuixIcons.Back,
|
||||
contentDescription = "登出",
|
||||
imageVector = MiuixIcons.Remove,
|
||||
// 文字已经把这条读出来了,图标再说一遍只会让读屏重复。
|
||||
contentDescription = null,
|
||||
tint = MiuixTheme.colorScheme.error,
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
onClick = onLogout,
|
||||
)
|
||||
}
|
||||
Spacer(Modifier.height(32.dp))
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user