fix(ui): 浅色模式系统栏图标改深色;返回键逐层回退

CyreneRoot 用 WindowInsetsControllerCompat 跟随主题切换系统栏明暗;ChatHomeScreen 为设置页与抽屉各加 BackHandler,避免直接回桌面。
This commit is contained in:
AskaEth committed 2026-09-08 22:45:20 +08:00
1 parent 61214a18fa
commit 00856eeaf7
2 files changed
+39 -2

No files matched your search

@@ -1,5 +1,6 @@
package top.yeij.cyrene.ui.chat
import androidx.activity.compose.BackHandler
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
@@ -15,7 +16,10 @@ import top.yeij.cyrene.ui.sessions.SessionDrawerContent
import top.yeij.cyrene.ui.sessions.SessionsViewModel
import top.yeij.cyrene.ui.settings.SettingsScreen
/** 聊天页 + 侧边栏(会话切换)+ 设置页。 */
/**
* 聊天页 + 侧边栏(会话切换)+ 设置页。
* 返回键逐层回退:设置 → 聊天;抽屉打开时先关抽屉;都关着才交给系统(回桌面)。
*/
@Composable
fun ChatHomeScreen(
container: AppContainer,
@@ -28,6 +32,9 @@ fun ChatHomeScreen(
var drawerOpen by remember { mutableStateOf(false) }
var showSettings by remember { mutableStateOf(false) }
BackHandler(enabled = showSettings) { showSettings = false }
BackHandler(enabled = drawerOpen) { drawerOpen = false }
if (showSettings) {
SettingsScreen(container = container, onBack = { showSettings = false })
} else {