feat(#11): make HermesScaffold title a @Composable slot, convert ChatScreen (#12)

- HermesScaffold: title now @Composable () -> Unit (M3-idiomatic)
- HermesScaffold: added modifier and snackbarHost parameters
- Updated all 18 callers from title="X" to title={Text("X")}
- ChatScreen: converted from raw Scaffold to HermesScaffold
- Removed unused Menu icon import (ktlint fix)
This commit is contained in:
M57 authored and GitHub committed 2026-06-18 18:43:45 +03:00
1 parent 7c27ca624c
commit d37de1d223
20 files changed
+133 -153

No files matched your search

@@ -13,7 +13,6 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
@@ -35,21 +34,24 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun HermesScaffold(
title: String,
modifier: Modifier = Modifier,
title: @Composable () -> Unit,
onOpenDrawer: (() -> Unit)? = null,
onRefresh: (() -> Unit)? = null,
onBack: (() -> Unit)? = null,
showBack: Boolean = false,
snackbarHost: @Composable () -> Unit = {},
actions: @Composable () -> Unit = {},
content: @Composable (PaddingValues) -> Unit,
) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
Scaffold(
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
modifier = modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
snackbarHost = { snackbarHost() },
topBar = {
TopAppBar(
title = { Text(title) },
title = title,
navigationIcon = {
when {
showBack && onBack != null -> {