in Owl/app/src/main/java/com/example/owl/ui/common/CourseListItem.kt [53:121]
fun CourseListItem(
course: Course,
onClick: () -> Unit,
modifier: Modifier = Modifier,
shape: Shape = RectangleShape,
elevation: Dp = OwlTheme.elevations.card,
titleStyle: TextStyle = MaterialTheme.typography.subtitle1,
iconSize: Dp = 16.dp
) {
Surface(
elevation = elevation,
shape = shape,
modifier = modifier
) {
Row(modifier = Modifier.clickable(onClick = onClick)) {
NetworkImage(
url = course.thumbUrl,
contentDescription = null,
modifier = Modifier.aspectRatio(1f)
)
Column(
modifier = Modifier.padding(
start = 16.dp,
top = 16.dp,
end = 16.dp,
bottom = 8.dp
)
) {
Text(
text = course.name,
style = titleStyle,
maxLines = 2,
overflow = TextOverflow.Ellipsis,
modifier = Modifier
.weight(1f)
.padding(bottom = 4.dp)
)
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(
imageVector = Icons.Rounded.OndemandVideo,
tint = MaterialTheme.colors.primary,
contentDescription = null,
modifier = Modifier.size(iconSize)
)
Text(
text = stringResource(
R.string.course_step_steps,
course.step,
course.steps
),
color = MaterialTheme.colors.primary,
style = MaterialTheme.typography.caption,
modifier = Modifier
.padding(start = 8.dp)
.weight(1f)
.wrapContentWidth(Alignment.Start)
)
NetworkImage(
url = course.instructor,
contentDescription = null,
modifier = Modifier
.size(28.dp)
.clip(CircleShape)
)
}
}
}
}
}