package com.craigvg.lichun_android.ui.screens.home.components import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.* import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.craigvg.lichun_android.R import com.craigvg.lichun_android.ui.theme.AppColors import com.craigvg.lichun_android.ui.theme.AppSpacing import com.craigvg.lichun_android.ui.theme.AppTypography /** * Energy, money, diamonds resource row */ @Composable fun ResourcesRow( energy: Int, money: Double, diamonds: Int, onEnergyClick: () -> Unit = {} ) { Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly ) { ResourcePillIcon( icon = Icons.Default.Bolt, value = energy.toString(), color = AppColors.energy, label = stringResource(R.string.energy), onClick = onEnergyClick ) ResourcePillIcon( icon = Icons.Default.AttachMoney, value = "${"%.0f".format(money)}", color = AppColors.money, label = stringResource(R.string.money) ) ResourcePillIcon( icon = Icons.Default.Diamond, value = diamonds.toString(), color = AppColors.diamond, label = stringResource(R.string.diamonds) ) } } @Composable private fun ResourcePillIcon( icon: ImageVector, value: String, color: Color, label: String, onClick: (() -> Unit)? = null ) { Card( shape = RoundedCornerShape(AppSpacing.pillCornerRadius), colors = CardDefaults.cardColors(containerColor = color.copy(alpha = 0.2f)), modifier = if (onClick != null) Modifier.clickable(onClick = onClick) else Modifier ) { Row( modifier = Modifier.padding(horizontal = AppSpacing.sm, vertical = AppSpacing.xs), verticalAlignment = Alignment.CenterVertically ) { Icon( imageVector = icon, contentDescription = label, tint = color, modifier = Modifier.size(16.dp) ) Spacer(modifier = Modifier.width(4.dp)) Text( text = value, style = AppTypography.captionBold, color = color ) } } }