Core: Move phase mailing into settings for application and interview#1920
Core: Move phase mailing into settings for application and interview#1920rappm wants to merge 3 commits into
Core: Move phase mailing into settings for application and interview#1920Conversation
|
Warning Review limit reached
Next review available in: 54 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
mathildeshagl
left a comment
There was a problem hiding this comment.
Solid, focused consolidation and the route/sidebar cleanup is complete. A few things to address before merge — mainly making the mailing section genuinely match the sibling settings sections and keeping the e2e coverage meaningful.
- Card + heading consistency (main one): the neighboring Application sections are
<Card>-wrapped with an<h3 text-lg font-semibold>header; the new Mailing section is a bare div with an<h2 text-2xl font-bold>, so it won't visually match despite the PR description's claim. - e2e
mailingsurface now only asserts the generic settings-page heading, so it no longer proves the mailing section rendered. - Two minor Interview UX changes from the reflow (non-sticky add input, nested inner scroll) — inline.
Non-blocking: the pre-existing duplicate <h2> ("Mailing" vs "Mailing Templates " — note the trailing space) is more visible now; consider demoting the templates heading to h3.
| return ( | ||
| <div className='space-y-6'> | ||
| <ManagementPageHeader>Application Mailing Settings</ManagementPageHeader> | ||
| <h2 className='text-2xl font-bold'>Mailing</h2> |
There was a problem hiding this comment.
The sibling sections on this page (ApplicationGeneralSettings, ApplicationSettingsCustomScores) are each wrapped in a <Card>/<CardContent> with an <h3 className="text-lg font-semibold"> header. This section is a bare div with <h2 text-2xl font-bold>, so it reads as a larger, un-carded block rather than "matching the other settings sections." Suggest wrapping in a Card and using the same h3 text-lg font-semibold header for real consistency. (Doing so also fixes the non-sequential h1→h3→h3→h2 order on the page.)
| <div className='pb-4'> | ||
| <header className='mb-4'> | ||
| <ManagementPageHeader>Interview Question Configuration</ManagementPageHeader> | ||
| <h2 className='text-2xl font-bold'>Interview Questions</h2> |
There was a problem hiding this comment.
Dropping the sticky wrapper means the "Add question" input now scrolls away with the page instead of staying pinned. Fine as a section, but confirm that's intended — it's a UX downgrade from the standalone page.
|
|
||
| {/* Scrollable content */} | ||
| <div className='grow overflow-auto h-[calc(100vh-300px)] p-4'> | ||
| <div className='grow overflow-auto max-h-[60vh]'> |
There was a problem hiding this comment.
max-h-[60vh] overflow-auto creates a nested scroll region inside the also-scrolling SettingsPage. Works, but nested scrollbars can feel awkward with many questions — worth a quick look on a small viewport.
| heading: 'Application Mailing Settings', | ||
| // Mailing config moved into the Application settings page. | ||
| path: (courseId) => `/management/course/${courseId}/${MAILING_PHASE_ID}/settings`, | ||
| heading: 'Application Settings', |
There was a problem hiding this comment.
heading: 'Application Settings' is the generic page title, so this row no longer proves the mailing section actually rendered — it now largely overlaps a plain settings-page load. Consider asserting on something mailing-specific (e.g. the Mailing section header or a templates control) so the mailing surface still exercises what it's named for. The API half is unchanged and still meaningful.
📝 Pull Request Template
✨ What is the change?
Unifies phase settings by folding the standalone Mailing page into the phase Settings page,
as a section (not a tab) matching the other settings sections. The separate Mailing sidebar item
and its route are removed for the two phases that had them.
Mailingsection on the ApplicationSettings page. The
/mailingroute and sidebar item are removed; the "missing mailing config"warning on the landing page now links to
/settings.SettingsPagecomposes the interview question configuration and aMailingsection. The/mailingroute, sidebar item, and the now-orphanedMailingPageareremoved. The question configuration was adjusted to flow as a section (no viewport-fixed height /
sticky header) so both read consistently.
The "rename Config → Settings" part of the issue was already satisfied — every phase sidebar already
uses "Settings" (no phase item was named "Config").
📌 Reason for the change / Link to issue
Phase settings were inconsistent: most phases had a single "Settings" entry, while Application and
Interview split "Mailing" into its own sidebar entry. This consolidates them.
Closes #894
🧪 How to Test
Settings. Confirm theMailingsection appearsbelow the other settings, there is no separate
Mailingsidebar item, and editing/saving mailingtemplates still works. On the landing page, the "no mailing settings" warning links to Settings.
Settings. Confirm both the interview questions and aMailingsection appear on one page, and there is no separateMailingsidebar item.🖼️ Screenshots (if UI changes are included)
✅ PR Checklist