package com.craigvg.lichun_android.ui.screens.events.components import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.craigvg.lichun_android.domain.models.SimplePerson import com.craigvg.lichun_android.ui.theme.AppColors import com.craigvg.lichun_android.ui.theme.AppSpacing import com.craigvg.lichun_android.ui.theme.AppTypography /** * Row of character avatar initials shown in event modal. * Extracted from EventModal.kt */ @Composable fun EventCharacterRow( characters: List, modifier: Modifier = Modifier ) { Row( modifier = modifier, horizontalArrangement = Arrangement.spacedBy(8.dp) ) { characters.take(4).forEach { character -> EventCharacterAvatar(character = character) } } } @Composable private fun EventCharacterAvatar(character: SimplePerson) { Box( modifier = Modifier .size(48.dp) .clip(CircleShape) .background( Brush.linearGradient( colors = listOf(AppColors.primary, AppColors.secondary) ) ), contentAlignment = Alignment.Center ) { Text( text = "${character.firstname.take(1)}${character.lastname.take(1)}".uppercase(), style = AppTypography.captionBold, color = Color.White ) } }