refactor(chat): improve ChatScaffold button click and theme safety

This commit is contained in:
844143714@qq,com 2026-05-19 21:30:33 +08:00
parent 21750acd2c
commit 338ecdfd43
1 changed files with 8 additions and 6 deletions

View File

@ -8,6 +8,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material3.*
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@ -17,6 +18,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import com.stand.standapp.ui.chat.ChatViewModel
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ChatScaffold(
viewModel: ChatViewModel = viewModel(),
@ -54,14 +56,14 @@ fun ChatScaffold(
items(sessions) { session ->
val isSelected = session.id == currentSessionId
Surface(
onClick = {
viewModel.switchSession(session.id)
scope.launch { drawerState.close() }
},
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 4.dp)
.clickable {
viewModel.switchSession(session.id)
scope.launch { drawerState.close() }
},
color = if (isSelected) Color(0xFFE5E7EB) else Color.Transparent,
.padding(vertical = 4.dp),
color = if (isSelected) MaterialTheme.colorScheme.surfaceVariant else Color.Transparent,
shape = RoundedCornerShape(8.dp)
) {
Text(