Improve design and UX: discoverability, color linking, rich labels, term selector#134
Open
devin-ai-integration[bot] wants to merge 2 commits intoagentfrom
Open
Improve design and UX: discoverability, color linking, rich labels, term selector#134devin-ai-integration[bot] wants to merge 2 commits intoagentfrom
devin-ai-integration[bot] wants to merge 2 commits intoagentfrom
Conversation
…erm selector - Extract shared course color utility (courseColor.ts) - Add colored left border to workspace entries matching calendar blocks - Show instructor + time in section dropdown labels - Show 'Unlock courses to auto-find schedules' hint when all locked - Add term selector dropdown in footer - Add day labels (Mon-Fri) above time picker columns - Add confirmation dialogs for Remove All and Default Schedule - Replace window.prompt/alert with modal for Import Workspace - Fix help modal typos (schuduler, 'If has a course', 'be time') Co-Authored-By: Rahul Chalamala <rahul@chalamala.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
caltech-dev | ed25cae | Commit Preview URL Branch Preview URL |
Mar 11 2026, 08:19 PM |
…port modal on success, clear error on reopen Co-Authored-By: Rahul Chalamala <rahul@chalamala.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Improve UX: arrangement discoverability, color linking, rich labels, term selector
Summary
A set of targeted design and UX improvements motivated by first-principles analysis of caltech.dev's core usability gaps. The most significant change is making the automatic arrangement feature discoverable — previously, courses defaulted to locked and the UI showed "All sections set." with no indication that unlocking enables auto-scheduling.
Changes:
WorkspaceSchedulernow shows "All sections locked. Unlock courses to auto-find non-conflicting schedules." instead of the opaque "All sections set."courseColor.tsutility; workspace entry cards now have a colored left border matching their calendar block color1 — Staff, MWF 09:00 - 09:55instead of just1<select>dropdown to switch terms (replaces static "Current term: sp2026" text)window.prompt()/alert()with a proper in-app modal usinguseModal; auto-closes on success, clears errors on reopenwindow.confirm()when courses existgetCourseresults are now filtered fornullso clicking "Default Schedule" on terms missing a hardcoded course (e.g. "CS 3 x" on sp2023/sp2024/sp2025) no longer crashesUpdates since initial revision
Addressed automated review feedback (ed25cae):
getCourseresults instead of using non-null assertiononClose()fromuseModalpropsimportErrorstate is cleared when the import modal is reopenedReview & Testing Checklist for Human
importInputRefis created outsideuseModalbut the<textarea>it attaches to is inside the modal render callback. Verify the ref connects correctly and the textarea value is readable on import click.borderLeftinline style is merged withprovided.draggableProps.styleon workspace entries. Verify drag-and-drop still works correctly and the border doesn't cause visual glitches during drag.Notes
window.confirmmocking)