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.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.craigvg.lichun_android.domain.models.AnswerOption import com.craigvg.lichun_android.ui.theme.AppColors import com.craigvg.lichun_android.ui.theme.AppSpacing import com.craigvg.lichun_android.ui.theme.AppTypography /** * Cost/reward display with emoji icons for answer options. * Extracted from EventModal.kt */ @Composable fun EventCostRewardRow( answer: AnswerOption, modifier: Modifier = Modifier ) { when { (answer.energyCost ?: 0) > 0 -> { CostPill(emoji = "\u26a1\ufe0f", value = answer.energyCost!!, color = AppColors.energy, modifier = modifier) } (answer.moneyCost ?: 0.0) > 0 -> { CostPill(emoji = "\ud83d\udcb0", value = answer.moneyCost!!.toInt(), color = AppColors.money, modifier = modifier) } (answer.diamondCost ?: 0) > 0 -> { CostPill(emoji = "\ud83d\udc8e", value = answer.diamondCost!!, color = AppColors.diamond, modifier = modifier) } else -> { Spacer(modifier = modifier.height(24.dp)) } } } @Composable internal fun CostPill( emoji: String, value: Int, color: Color, modifier: Modifier = Modifier ) { Row( modifier = modifier .background(color.copy(alpha = 0.4f), CircleShape) .padding(horizontal = AppSpacing.sm, vertical = 4.dp), verticalAlignment = Alignment.CenterVertically ) { Text(text = emoji, fontSize = 12.sp) Spacer(modifier = Modifier.width(4.dp)) Text(text = "$value", style = AppTypography.caption, color = AppColors.primaryText) } }