





















@@ -55,7 +55,7 @@ import androidx.compose.ui.text.style.TextOverflow
5555import androidx.compose.ui.unit.dp
5656import androidx.compose.ui.unit.sp
575758-/** Session browser for recent and currently-live chat sessions. */
58+/** Session browser for recent and current chat sessions. */
5959@Composable
6060internal fun SessionsScreen(
6161viewModel: MainViewModel,
@@ -73,7 +73,7 @@ internal fun SessionsScreen(
7373 .let { rows ->
7474when (filter) {
7575SessionFilter.Recent -> rows
76-SessionFilter.Live -> rows.filter { it.key == chatSessionKey }
76+SessionFilter.Current -> rows.filter { it.key == chatSessionKey }
7777 }
7878 }.let { rows ->
7979if (recentFirst) {
@@ -92,12 +92,12 @@ internal fun SessionsScreen(
9292 }
93939494ClawScaffold(
95- contentPadding = PaddingValues(start = 20.dp, top = 14.dp, end = 20.dp, bottom = 6.dp),
95+ contentPadding = PaddingValues(start = 16.dp, top = 10.dp, end = 16.dp, bottom = 4.dp),
9696 contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Top + WindowInsetsSides.Horizontal),
9797 ) {
9898LazyColumn(
9999 modifier = Modifier.fillMaxSize(),
100- verticalArrangement = Arrangement.spacedBy(7.dp),
100+ verticalArrangement = Arrangement.spacedBy(9.dp),
101101 contentPadding = PaddingValues(bottom = 4.dp),
102102 ) {
103103 item {
@@ -106,7 +106,7 @@ internal fun SessionsScreen(
106106 verticalAlignment = Alignment.CenterVertically,
107107 horizontalArrangement = Arrangement.spacedBy(8.dp),
108108 ) {
109-Text(text = "Sessions", style = ClawTheme.type.display.copy(fontSize = 17.4.sp, lineHeight = 21.sp), color = ClawTheme.colors.text, modifier = Modifier.weight(1f))
109+Text(text = "Sessions", style = ClawTheme.type.display.copy(fontSize = 24.sp, lineHeight = 28.sp), color = ClawTheme.colors.text, modifier = Modifier.weight(1f))
110110SessionPlainIconButton(icon = Icons.Default.Search, contentDescription = "Search sessions", onClick = onOpenCommand)
111111SessionPlainIconButton(icon = Icons.Default.SwapVert, contentDescription = "Reverse session sort", onClick = { recentFirst = !recentFirst })
112112 }
@@ -115,7 +115,7 @@ internal fun SessionsScreen(
115115 item {
116116Row(horizontalArrangement = Arrangement.spacedBy(5.dp)) {
117117FilterPill(text = "Recent", icon = Icons.Outlined.AccessTime, active = filter == SessionFilter.Recent, onClick = { filter = SessionFilter.Recent })
118-FilterPill(text = "Live", icon = Icons.Outlined.MicNone, active = filter == SessionFilter.Live, live = sessions.any { it.key == chatSessionKey }, onClick = { filter = SessionFilter.Live })
118+FilterPill(text = "Current", icon = Icons.Outlined.MicNone, active = filter == SessionFilter.Current, showDot = sessions.any { it.key == chatSessionKey }, onClick = { filter = SessionFilter.Current })
119119 }
120120 }
121121@@ -179,7 +179,7 @@ private fun FilterPill(
179179text: String,
180180icon: ImageVector? = null,
181181active: Boolean = false,
182-live: Boolean = false,
182+showDot: Boolean = false,
183183dropdown: Boolean = false,
184184onClick: (() -> Unit)? = null,
185185) {
@@ -198,7 +198,7 @@ private fun FilterPill(
198198 ) {
199199 icon?.let { Icon(imageVector = it, contentDescription = null, modifier = Modifier.size(12.dp), tint = ClawTheme.colors.text) }
200200Text(text = text, style = ClawTheme.type.label, color = ClawTheme.colors.text, maxLines = 1)
201-if (live) {
201+if (showDot) {
202202Box(modifier = Modifier.size(4.dp).clip(CircleShape).background(ClawTheme.colors.success))
203203 }
204204if (dropdown) {
@@ -258,7 +258,7 @@ private fun SessionRow(
258258Text(text = subtitle, style = ClawTheme.type.caption.copy(fontSize = 12.5.sp, lineHeight = 16.sp), color = ClawTheme.colors.textMuted, maxLines = 1)
259259Row(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
260260SessionMiniTag(text = "Workspace")
261-SessionMiniTag(text = if (active) "Active" else "OpenClaw")
261+SessionMiniTag(text = if (active) "Current" else "OpenClaw")
262262 }
263263 }
264264 }
@@ -320,21 +320,21 @@ private fun SessionMiniTag(text: String) {
320320321321private enum class SessionFilter {
322322Recent,
323-Live,
323+Current,
324324}
325325326326/** Empty-state title selected by the active session browser filter. */
327327private fun emptySessionTitle(filter: SessionFilter): String =
328328when (filter) {
329329SessionFilter.Recent -> "No sessions yet"
330-SessionFilter.Live -> "No live session"
330+SessionFilter.Current -> "No current session"
331331 }
332332333333/** Empty-state body selected by the active session browser filter. */
334334private fun emptySessionBody(filter: SessionFilter): String =
335335when (filter) {
336336SessionFilter.Recent -> "Start a new conversation and it will show up here."
337-SessionFilter.Live -> "Open Chat to start or resume the current session."
337+SessionFilter.Current -> "Open Chat to start or resume the current session."
338338 }
339339340340/** Formats session timestamps for compact mobile metadata. */
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。