1package com.peachpasswords.ui.components23import androidx.compose.foundation.layout.Arrangement4import androidx.compose.foundation.layout.Box5import androidx.compose.foundation.layout.Row6import androidx.compose.foundation.layout.RowScope7import androidx.compose.foundation.layout.fillMaxWidth8import androidx.compose.foundation.layout.height9import androidx.compose.foundation.layout.padding10import androidx.compose.foundation.layout.widthIn11import androidx.compose.foundation.shape.RoundedCornerShape12import androidx.compose.material3.Surface13import androidx.compose.material3.Text14import androidx.compose.runtime.Composable15import androidx.compose.ui.Alignment16import androidx.compose.ui.Modifier17import androidx.compose.ui.unit.dp18import com.peachpasswords.ui.theme.PeachSpacing19import com.peachpasswords.ui.theme.PeachType20import com.peachpasswords.ui.theme.peachColors2122@Composable23fun PeachTopBar(24 title: String,25 modifier: Modifier = Modifier,26 leading: (@Composable RowScope.() -> Unit)? = null,27 actions: (@Composable RowScope.() -> Unit)? = null,28) {29 Surface(30 modifier = modifier.fillMaxWidth(),31 color = peachColors.S1,32 contentColor = peachColors.T0,33 shape = RoundedCornerShape(18.dp),34 tonalElevation = 1.dp,35 ) {36 Row(37 modifier = Modifier38 .height(56.dp)39 .padding(horizontal = PeachSpacing.md),40 verticalAlignment = Alignment.CenterVertically,41 horizontalArrangement = Arrangement.spacedBy(PeachSpacing.sm),42 ) {43 if (leading != null) {44 Row(verticalAlignment = Alignment.CenterVertically, content = leading)45 }46 Text(47 text = title,48 color = peachColors.T0,49 style = PeachType.wordmark,50 modifier = Modifier.weight(1f),51 )52 if (actions != null) {53 Row(54 modifier = Modifier.widthIn(min = 40.dp),55 verticalAlignment = Alignment.CenterVertically,56 horizontalArrangement = Arrangement.spacedBy(PeachSpacing.xs),57 content = actions,58 )59 } else {60 Box(Modifier.widthIn(min = 40.dp))61 }62 }63 }64}