Overview
TheScheduleScreen displays a comprehensive daily schedule of classes for the current semester. It shows all classes with their time slots, locations, and instructors in a timeline format with color-coded subjects.
Main Composable
ScheduleScreen()
Scaffold with a floating action button and displays:
- Header with semester information and day selector
- Timeline view of all classes for the day
- Lunch break indicator
- Color-coded subject cards
- Add button FAB in TecBlue color
- Scrollable timeline with vertical scroll state
- Light gray background (Color(0xFFF5F6F8))
- Semester label: “SEMESTRE AGO-DIC 2026”
Sub-Composables
ScheduleHeader()
- Semester label (“SEMESTRE AGO-DIC 2026”)
- “Horario” title in large bold text
- Week day selector chips (Monday - Friday)
- TecBlue background
- 28dp rounded bottom corners
- White text with varying opacity
- Day chips with selection states
ScheduleDayChip()
day- Day abbreviation (e.g., “Lun”, “Mar”)number- Day number (e.g., “12”, “13”)selected- Whether this day is currently selected
- Selected: White background with TecBlue text and dot indicator
- Unselected: Transparent background with white text
- Card size: 58dp width × 88dp height
TimeClassCard()
hour- Start time (e.g., “08:00”)endHour- End time (e.g., “09:00”)subject- Course nameteacher- Instructor nametag- Room/location tag (e.g., “A2”, “Lab 3”)colorLine- Accent color for the left bordercardColor- Background color for the card
- Time displayed on left (58dp width)
- Card with 5dp colored left border
- Subject name and teacher in card body
- Room tag in top-right corner
- Time range with clock icon at bottom
LunchCard()
- Time: “12:00”
- Text: ”🍴 Lunch Break”
- Light gray background (Color(0xFFF8FAFC))
- Centered text with medium weight
Color Coding System
The schedule uses different colors to distinguish between subjects:| Subject | Line Color | Card Background |
|---|---|---|
| Física I | #29B6F6 (Blue) | #EFF7FD (Light Blue) |
| Programación O.O. | #10B981 (Green) | #EFFAF5 (Light Green) |
| Inglés IV | #FF6B00 (Orange) | #FFF5EC (Light Orange) |
| Cálculo Integral | #6366F1 (Indigo) | #F1F2FF (Light Indigo) |
Schedule Format
A typical daily schedule includes:- Morning classes (08:00 - 12:00)
- Lunch break (12:00 - 13:00)
- Afternoon classes (13:00 - 16:00)
- Start and end times
- Subject name
- Professor name
- Room/location tag
- Color-coded left border
Source Code
File:app/src/main/java/com/example/appcontrolescolar/ui/screens/ScheduleScreen.kt