Skip to content

ref(project-creation): Polish the SCM alert frequency component#118375

Open
jaydgoss wants to merge 7 commits into
jaygoss/vdy-77-project-creation-ui-polish-contfrom
jaygoss/vdy-77-scm-alert-frequency-polish
Open

ref(project-creation): Polish the SCM alert frequency component#118375
jaydgoss wants to merge 7 commits into
jaygoss/vdy-77-project-creation-ui-polish-contfrom
jaygoss/vdy-77-scm-alert-frequency-polish

Conversation

@jaydgoss

Copy link
Copy Markdown
Member

TLDR

Reworks the SCM project-creation alert-frequency component to match the updated design: bordered radio cards, the custom-threshold form expanding inside the selected card with an animated reveal, and a set of layout and accessibility fixes on top.

Details

  • Aligns the alert options with the new design: a description line under "High priority issues", equal-width threshold input and metric select, a footer note that alerts can be changed after project creation, and updated copy ("Custom threshold", "I'll set up alerts later").
  • Moves the custom-threshold form inside the selected card and mounts it only when selected, animating its height with the same tween ScmCollapsibleSection uses so cards in scmCreateProject's layout="position" group reflow smoothly. That tween is extracted into a shared ScmCollapsibleReveal consumed by both components.
  • Portals the threshold and interval select menus to the document body so they are not clipped or flipped by the card and animation overflow bounds.
  • Fixes the card click target so the whole collapsed card is clickable, keeps input focus rings clear of the animation overflow bounds, and lays the radio, label, and description out in a 2x2 grid so the radio centers on the label row.
  • Stacks the custom-threshold fields into a single column below the md breakpoint.
  • Uses scraps md sizing across the component since the design's sizes do not map cleanly to scraps tokens.

Stack

Continues the VDY-77 project-creation UI polish work. Base branch is jaygoss/vdy-77-project-creation-ui-polish-cont (#118193).

@linear-code

linear-code Bot commented Jun 24, 2026

Copy link
Copy Markdown

VDY-77

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jun 24, 2026
@jaydgoss jaydgoss marked this pull request as ready for review June 24, 2026 18:21
@jaydgoss jaydgoss requested a review from a team as a code owner June 24, 2026 18:21
@jaydgoss jaydgoss requested a review from a team June 24, 2026 18:23

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit aba9239. Configure here.

Comment thread static/app/views/onboarding/components/scmAlertFrequency.tsx
jaydgoss added 7 commits June 24, 2026 18:43
Rework the alert-frequency options to match the latest Figma. The custom
threshold form now lives inside the selected card instead of below it with
a left-border accent bar, and only mounts when Custom is selected. The
threshold input and metric select are equal width at the standard form size.

Add the High priority issues description line and a footer note that alerts
can be changed after project creation. Update the option copy to Custom
threshold and I'll set up alerts later.

ScmAlertOptionCard now wraps the radio row and its children in one bordered
card and accepts an optional description.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2
…enus

Expand and collapse the custom-threshold form with the same height tween
ScmCollapsibleSection uses, so it composes with scmCreateProject's
layout="position" group instead of popping in. Render the threshold and
interval select menus in a body portal so they are not clipped or flipped by
the card and animation overflow:hidden bounds.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2
Move the card padding onto the header button so the whole collapsed card is
clickable to its edges instead of leaving a dead padding ring. Give the
expanded body its own right and bottom padding so input focus rings clear the
animated overflow:hidden bounds. Lay the radio, label, and description out in a
2x2 grid so the radio centers on the label row and the description sits beneath
the label.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2
…bels

Extract the height + fade tween shared by ScmCollapsibleSection and
ScmAlertOptionCard into ScmCollapsibleReveal so the expand/collapse timing
lives in one place. Make the option label always bold and drop it to the same
size as its description, matching the new design.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2
…y UI

The design specifies type and control sizes that do not map cleanly to scraps
tokens, so use the md radio and text sizes (and no label/description row gap)
on the option card, and the md info icon and helper text on the footer, to stay
within the design system instead of matching the mock pixel for pixel.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2

fx
…x body indent

Drop the threshold input and metric select to a single column below the md
breakpoint so they are not cramped on narrow screens. Correct the expanded
body indent to the md radio's 24px width so it lines up under the label again
after the radio grew from sm to md.

Claude-Session: https://claude.ai/code/session_01F8yRVeJRYS7BKpoxQHASq2
The alert option label was renamed from "I'll create my own alerts later"
to "I'll set up alerts later" earlier in this branch, but the back-nav
acceptance test still selected the radio by the old text and timed out.
Update its xpath substrings to match the current label.
@jaydgoss jaydgoss force-pushed the jaygoss/vdy-77-project-creation-ui-polish-cont branch from 2dbbc40 to 967cfc5 Compare June 24, 2026 23:47
@jaydgoss jaydgoss force-pushed the jaygoss/vdy-77-scm-alert-frequency-polish branch from aba9239 to 6e8ef78 Compare June 24, 2026 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant