Skip to content

fix(bracket): hoist cascade banner to top of round, keep details at bottom#289

Merged
0800tim merged 2 commits into
mainfrom
fix/cascade-banner-top-of-round
Jun 5, 2026
Merged

fix(bracket): hoist cascade banner to top of round, keep details at bottom#289
0800tim merged 2 commits into
mainfrom
fix/cascade-banner-top-of-round

Conversation

@0800tim

@0800tim 0800tim commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Tim 2026-06-05 follow-up to the cascade-warnings English-ification: the friendly note wasn't visible on mobile because both the banner and the details list sat below all the empty slots. Split the surface so the actionable banner hoists to the top of each round (and the final-panel section), while the details collapsible stays at the bottom.

CascadeWarnings gets a mode prop (full | banner | details, default full for back-compat). BracketBuilder renders mode=\"banner\" at the top of the KO + final sections, and mode=\"details\" at the bottom of the panel grid. CSS untouched.

Mobile users now see the "Go to Top 8 3rds →" banner immediately on the empty R32 panel.

0800tim added 2 commits June 5, 2026 12:04
…t on bet CTA

Two visual bugs Tim flagged on 2026-06-05:

* The selected/unselected contrast on the Top 8 3rd-placed teams tiles
  was too subtle. The 3px inset gold ring + rgba(.., 0.6) border read
  as a faint outline next to the unpicked tiles, not as an unambiguous
  "this one is picked" affordance. Bumped to a 5px solid-gold inset
  with a 1px soft inner highlight + larger outer glow (24px / 0.55
  alpha vs 14px / 0.35). The picked tile now visibly lifts.

* /the-bet bottom CTA ("Pick your bracket to enter →") was rendering
  gold text on a gold pill. The pill's class .vt-bet-cta-primary set
  color: #15151a but .vt-bet-body a (same file, body-paragraph link
  styling) is (0,1,1) specificity vs (0,1,0) and was winning the
  cascade. Added !important to the CTA's color rule, matching the
  pattern .vt-bet-cta-ghost already uses for the same reason.

Refs: sessions/2026-06-05_orchestrator_bracket-save-on-exit.md
Signed-off-by: Tim Thomas <0800tim@gmail.com>
…ottom

Tim 2026-06-05 (after the cascade-warnings English-ification ship):

  > You see the friendly note on desktop now, but it's not visible on
  > mobile. [...] move the first one to the top and leave the second
  > one at the bottom.

The previous patch landed both the contextual banner and the details
collapsible at the bottom of the whole tabpanel grid, so on mobile the
banner sat below the matches and the Next-stage CTA, and users hit
the empty R32 slots without seeing the explanation.

Split the surface so the banner (the actionable bit) hoists to the top
of each round and the final-panel section, while the details list
(the curious-user reference) stays at the bottom.

* CascadeWarnings: new `mode` prop, default `"full"` for back-compat.
  `"banner"` renders just the upstream-fix CTA; `"details"`
  renders just the collapsible. In "banner" mode the component
  returns null when no upstream stage is incomplete, so groups +
  thirds tabs don't paint an empty wrapper.
* BracketBuilder: render `mode="banner"` inside the KO round section
  (just below the round help text) and inside the final-panel section
  (just above the final-match card). The existing bottom call is
  changed to `mode="details"`.

Same component, two render slots. CSS untouched.

Refs: sessions/2026-06-05_orchestrator_bracket-save-on-exit.md
Signed-off-by: Tim Thomas <0800tim@gmail.com>
@0800tim 0800tim merged commit c1358f4 into main Jun 5, 2026
11 of 12 checks passed
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

DRY-RUN — this verdict is informational; CI is not blocked.

Auto-triage: GREEN — auto-triage clear

Risk score: 0/100

Metric Value
Files changed 4
Lines added 68
Lines removed 22
Apps touched apps/web
New dependencies 0
New 3rd-party hosts 0

No flags raised by the automated scanners. A human reviewer will still take a look.

Labels applied: area:web, auto-triage:green

Posted by @vtorn/pr-triage-bot. How this works: docs/security/01-pr-triage-process.md. Disagree with the verdict? Comment /triage override <reason> and a maintainer will re-review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant