package com.craigvg.lichun_android.ui.screens.home.components 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.vector.ImageVector import androidx.compose.ui.unit.dp import com.craigvg.lichun_android.ui.theme.AppColors import com.craigvg.lichun_android.ui.theme.AppSpacing import com.craigvg.lichun_android.ui.theme.AppTypography /** * Action buttons row at the bottom of home screen * Ported from iOS BottomButtonsView.swift */ @Composable fun BottomButtonsView( onAchievements: () -> Unit = {}, onDailyRewards: () -> Unit = {}, onStore: () -> Unit = {} ) { Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly ) { ActionButton( icon = Icons.Default.EmojiEvents, label = "Achievements", onClick = onAchievements ) ActionButton( icon = Icons.Default.CardGiftcard, label = "Rewards", onClick = onDailyRewards ) ActionButton( icon = Icons.Default.ShoppingBag, label = "Store", onClick = onStore ) } } @Composable private fun ActionButton( icon: ImageVector, label: String, onClick: () -> Unit ) { Column( horizontalAlignment = Alignment.CenterHorizontally ) { FilledTonalButton( onClick = onClick, shape = RoundedCornerShape(AppSpacing.smallCornerRadius), colors = ButtonDefaults.filledTonalButtonColors( containerColor = AppColors.primary.copy(alpha = 0.1f), contentColor = AppColors.primary ), modifier = Modifier.size(56.dp), contentPadding = PaddingValues(0.dp) ) { Icon( imageVector = icon, contentDescription = label, modifier = Modifier.size(24.dp) ) } Spacer(modifier = Modifier.height(4.dp)) Text( text = label, style = AppTypography.micro, color = AppColors.secondaryText ) } }