ui: no more empty lines in schedule
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package agzam.vyatsu.ui.schedule
|
package agzam.vyatsu.ui.schedule
|
||||||
|
|
||||||
import agzam.vyatsu.domain.model.Day
|
import agzam.vyatsu.domain.model.Day
|
||||||
|
import agzam.vyatsu.domain.model.LessonType
|
||||||
import agzam.vyatsu.domain.model.SchedulePeriod
|
import agzam.vyatsu.domain.model.SchedulePeriod
|
||||||
import agzam.vyatsu.domain.model.TimeSlot
|
import agzam.vyatsu.domain.model.TimeSlot
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
@@ -285,27 +286,48 @@ private fun LessonSlot(slotIndex: Int, slot: TimeSlot) {
|
|||||||
} else {
|
} else {
|
||||||
slot.lessons.forEach { lesson ->
|
slot.lessons.forEach { lesson ->
|
||||||
Column(Modifier.fillMaxWidth().padding(vertical = 2.dp)) {
|
Column(Modifier.fillMaxWidth().padding(vertical = 2.dp)) {
|
||||||
|
var any = false
|
||||||
|
if(lesson.type != LessonType.OTHER) {
|
||||||
Text(
|
Text(
|
||||||
lesson.type.label,
|
lesson.type.label,
|
||||||
style = MaterialTheme.typography.bodySmall,
|
style = MaterialTheme.typography.bodySmall,
|
||||||
color = MaterialTheme.colorScheme.onSurfaceVariant
|
color = MaterialTheme.colorScheme.onSurfaceVariant
|
||||||
)
|
)
|
||||||
|
any = true
|
||||||
|
}
|
||||||
|
|
||||||
|
val subject = lesson.subject?.takeIf { it.isNotBlank() } ?: lesson.raw
|
||||||
|
if(subject.isNotEmpty()) {
|
||||||
Text(
|
Text(
|
||||||
lesson.subject?.takeIf { it.isNotBlank() } ?: lesson.raw,
|
subject,
|
||||||
style = MaterialTheme.typography.bodyLarge
|
style = MaterialTheme.typography.bodyLarge
|
||||||
)
|
)
|
||||||
Text(
|
any = true
|
||||||
listOfNotNull(
|
}
|
||||||
|
|
||||||
|
val meta = listOfNotNull(
|
||||||
lesson.subgroup,
|
lesson.subgroup,
|
||||||
lesson.teacher,
|
lesson.teacher,
|
||||||
lesson.room
|
lesson.room
|
||||||
)
|
).filter { it.isNotBlank() }.joinToString(" · ")
|
||||||
.filter { it.isNotBlank() }
|
|
||||||
.joinToString(" · "),
|
if(meta.isNotEmpty()) {
|
||||||
|
Text(
|
||||||
|
meta,
|
||||||
style = MaterialTheme.typography.bodySmall,
|
style = MaterialTheme.typography.bodySmall,
|
||||||
color = MaterialTheme.colorScheme.onSurfaceVariant
|
color = MaterialTheme.colorScheme.onSurfaceVariant
|
||||||
)
|
)
|
||||||
|
any = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!any) {
|
||||||
|
Text(
|
||||||
|
"-",
|
||||||
|
style = MaterialTheme.typography.bodySmall,
|
||||||
|
color = MaterialTheme.colorScheme.onSurfaceVariant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user