Inforario gives you full control over how your timetable looks and is labeled — without ever re-uploading or re-parsing. TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/DavidCevallos15/inforario-IA-null/llms.txt
Use this file to discover all available pages before exploring further.
useScheduleCustomizer hook manages theme and color state, while the CustomizerSidebar exposes those controls in a slide-in panel that can be opened from the dashboard header at any time.
useScheduleCustomizer Hook
useScheduleCustomizer is a lightweight hook that holds the active theme and exposes a changeSubjectColor function. It is designed to sit between the sidebar UI and the schedule state managed by App.tsx.
ScheduleTheme
Four visual presets are available, each applying a different color palette, font family, and border style to both the on-screen grid and the exported PDF:DEFAULT
Green-tinted academic style with rounded session cards, soft shadows, and a forest-green header. Uses Helvetica in the PDF export.
MINIMALIST
Black-and-white with hard borders and no rounded corners. Session cards show a colored left accent stripe instead of a filled background. Uses Times New Roman in the PDF export.
SCHOOL
Warm amber tones, dotted grid lines, polka-dot background, and chunky black-bordered cards with a drop shadow. Uses Courier in the PDF export.
NEON
Dark slate background with cyan borders and a glow effect. Session cards have a neon accent stripe and a backdrop blur. Uses Courier in the PDF export.
ScheduleTheme type is defined as a union in sgu.ts:
CustomizerSidebar calls setTheme from useScheduleCustomizer, which is forwarded to ScheduleGrid as the theme prop and also used by handleDownload in ScheduleDashboard when generating the PDF.
Subject Color Palette
When a schedule is first parsed, each distinct subject is assigned a color from the default round-robin palette in the order subjects appear in the PDF:CustomizerSidebar.
CustomizerSidebar
The sidebar slides in from the right whencustomizerOpen is true (toggled by the Personalizar button in the dashboard header). It contains:
- Theme selector: a set of buttons for
DEFAULT,MINIMALIST,SCHOOL, andNEON. - Color pickers per subject: one color input for each unique subject name found in
schedule.sessions. Changing a color callshandleColorChangeinScheduleDashboard, which updates the sessions and persists viasaveScheduleToDB.
Inline Title Editing
The schedule title in the dashboard header is editable with a single click. The flow uses two pieces of state:isEditingTitle (toggles the input vs. heading) and tempTitle (holds the draft value).
Click the title
Clicking the
<h2> calls startEditingTitle(), which copies currentSchedule.title into tempTitle and sets isEditingTitle to true.Type a new name
An
<input> with autoFocus replaces the heading. The onChange handler updates tempTitle on every keystroke.Font Scale
fontScale defaults to 1.0 and is adjusted with the ZoomIn (+0.1) and ZoomOut (−0.1) buttons, clamped between 0.7 and 1.5.
fontScale is passed as a prop to ScheduleGrid, where it is multiplied into every fontSize inline style — header labels, time labels, session details, and the PDF export all respect the same scale factor.
Saving to Supabase
saveScheduleToDB in supabaseClient.ts persists the current schedule to the schedules table. It performs an UPDATE if the schedule already has an id, or an INSERT if it is new:
sessions array is stored as JSON in the schedule_data column. The returned row includes the newly assigned id, which is written back to newSchedule.id in useScheduleUpload so subsequent saves go to the UPDATE path.
Customization Options at a Glance
Subject colors
Override the auto-assigned color for any subject from the
CustomizerSidebar. All sessions sharing the same subject name update simultaneously.Visual theme
Choose from DEFAULT, MINIMALIST, SCHOOL, or NEON. The theme applies to both the on-screen grid and the exported PDF.
Font scale
Zoom in or out between 70 % and 150 % using the ZoomIn / ZoomOut controls, available in both desktop and mobile layouts.
Schedule title
Click the title in the dashboard header to rename your schedule inline. The change is persisted to Supabase automatically for logged-in users.