diff --git a/app/src/main/java/agzam/vyatsu/ui/schedule/ScheduleScreen.kt b/app/src/main/java/agzam/vyatsu/ui/schedule/ScheduleScreen.kt index 7e972f1..ffff3a3 100644 --- a/app/src/main/java/agzam/vyatsu/ui/schedule/ScheduleScreen.kt +++ b/app/src/main/java/agzam/vyatsu/ui/schedule/ScheduleScreen.kt @@ -1,6 +1,7 @@ package agzam.vyatsu.ui.schedule import agzam.vyatsu.domain.model.Day +import agzam.vyatsu.domain.model.LessonType import agzam.vyatsu.domain.model.SchedulePeriod import agzam.vyatsu.domain.model.TimeSlot import androidx.compose.foundation.clickable @@ -285,27 +286,48 @@ private fun LessonSlot(slotIndex: Int, slot: TimeSlot) { } else { slot.lessons.forEach { lesson -> Column(Modifier.fillMaxWidth().padding(vertical = 2.dp)) { - Text( - lesson.type.label, - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) - - Text( - lesson.subject?.takeIf { it.isNotBlank() } ?: lesson.raw, - style = MaterialTheme.typography.bodyLarge - ) - Text( - listOfNotNull( - lesson.subgroup, - lesson.teacher, - lesson.room + var any = false + if(lesson.type != LessonType.OTHER) { + Text( + lesson.type.label, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant ) - .filter { it.isNotBlank() } - .joinToString(" · "), - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) + any = true + } + + val subject = lesson.subject?.takeIf { it.isNotBlank() } ?: lesson.raw + if(subject.isNotEmpty()) { + Text( + subject, + style = MaterialTheme.typography.bodyLarge + ) + any = true + } + + val meta = listOfNotNull( + lesson.subgroup, + lesson.teacher, + lesson.room + ).filter { it.isNotBlank() }.joinToString(" · ") + + if(meta.isNotEmpty()) { + Text( + meta, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + any = true + } + + if(!any) { + Text( + "-", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + } } }