Period
Display a single class period with optional progress indicator. Source:src/components/Period.vue
Props
Period name/number to display (periods starting with ’!’ have the ’!’ removed)
Start time in military time format (e.g., ‘08:00’)
End time in military time format (e.g., ‘09:00’)
Use inverted color scheme (secondary background with accent border)
Force mobile layout even on desktop
Disable the circular progress bar for current period
Use compact sizing optimized for TV/large displays
Features
- Progress Indicator: Shows circular progress bar when period is currently active (1-2 character period names)
- Responsive Layout: Changes from horizontal pill to vertical card on desktop
- Time Conversion: Automatically converts military time to 12-hour format
- Dynamic Sizing: Adjusts font size based on period name length
Usage
Time Format
Period times are displayed in 12-hour format with AM/PM:- Desktop: Times shown vertically (separated by dash hidden)
- Mobile/Tablet: Times shown horizontally (e.g., “8:00 AM – 9:00 AM”)
ScrollablePeriodList
Scrollable list of periods with automatic scrolling to current period. Source:src/components/ScrollablePeriodList.vue
Props
Custom schedule object with
start, end, and periods arrays. If null, uses today’s schedule from the clock store.Maximum height for the scrollable container (CSS value like ‘400px’)
Use compact spacing optimized for TV/large displays
Features
- Auto-scroll: Automatically scrolls to center the current period on mount and when bell changes
- Up Next Indicator: Shows “Up Next” divider during passing periods
- Current Period Highlight: Highlights current period with non-inverted colors
- Empty State: Shows empty list when not a school day
Exposed Methods
scrollToCurrentPeriod()- Manually trigger scroll to current period
Usage
Schedule Object Format
When providing a custom schedule, use this format:EventChip
Display an event with name and date in a chip format. Source:src/components/EventChip.vue
Props
Event date to display
Event name/title
Which side the event name extends from the date circle
Features
- Date Circle: Circular badge displaying month abbreviation and day number
- Event Name: Colored bar extending from date circle with event name
- Text Overflow: Automatically truncates long event names with ellipsis
- Flexible Direction: Event name can extend left or right from date
Usage
Styling
The component uses:- Accent Color: Event name bar uses
--accentCSS variable - Shadow: Date circle and name bar have drop shadows
- Responsive Width: Event name bar takes 50% width plus circle radius
- Circular Date: Fixed-size circular badge (36px diameter by default)