package com.example.jimpitinuicompose
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Card
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil.compose.rememberImagePainter
import com.example.jimpitinuicompose.ui.theme.BlackTransparent
import com.example.jimpitinuicompose.ui.theme.poppins
@Composable
fun AgendaCard(
item: Agenda
) {
Card(
shape = RoundedCornerShape(10.dp),
elevation = 0.dp,
modifier = Modifier
.fillMaxWidth()
.height(220.dp)
) {
Box {
Image(
painter = rememberImagePainter(item.image),
contentDescription = item.title,
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxSize()
)
Column(
verticalArrangement = Arrangement.SpaceBetween,
modifier = Modifier
.fillMaxSize()
.padding(horizontal = 15.dp)
) {
DifficultySurface(item.category)
ShortInfoSurface(
title = item.title,
time = item.time,
date = item.date
)
}
}
}
}
@Composable
fun DifficultySurface(level: String) {
Surface(
shape = CircleShape,
color = Color.Gray.copy(0.7f),
modifier = Modifier
.widthIn(20.dp, 100.dp)
.padding(top = 10.dp)
) {
Text(
text = level,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
color = Color.White,
fontFamily = poppins,
fontSize = 12.sp,
fontWeight = FontWeight.Medium,
modifier = Modifier.padding(vertical = 2.dp, horizontal = 10.dp)
)
}
}
@Composable
fun ShortInfoSurface(
title: String,
date: String,
time: String
) {
Surface(
color = BlackTransparent.copy(0.9f),
shape = RoundedCornerShape(10.dp),
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 10.dp)
) {
Column(modifier = Modifier.padding(vertical = 10.dp, horizontal = 15.dp)) {
Text(
text = title,
maxLines = 2,
overflow = TextOverflow.Ellipsis,
color = Color.White,
fontSize = 14.sp,
fontFamily = poppins,
fontWeight = FontWeight.Medium
)
Spacer(modifier = Modifier.height(10.dp))
Text(
text = "$date | $time",
color = Color.Gray,
fontSize = 14.sp,
fontFamily = poppins
)
}
}
}