fix(web): size landing announcement popups to content, keep centered - #1144
Merged
chronoai-shining merged 3 commits intoJun 29, 2026
Merged
Conversation
The landing AnnouncementPopup and LaunchCelebrationPopup pinned all four
edges (top/bottom: 10vh, left/right: 15vw), so the card always filled
that bounded area and scrolled internally even when it held very little
content — leaving a large empty void below the announcement.
Replace the fixed-edge box with a click-through full-viewport flex
centering layer wrapping a single card that:
- keeps a fixed width (70vw, equal to the prior 15vw side margins),
- lets height hug the content,
- caps height at 80vh (equal to the prior 10vh top/bottom margins),
scrolling internally only when content would exceed that bound,
- stays centered as its height changes.
The wrapper is pointer-events-none and the card pointer-events-auto so
the hero + lifecycle ring behind it remain interactive (no backdrop),
preserving the prior non-blocking behavior.
The CI `audit` job (bun audit --audit-level=high) failed on three high advisories in undici >=7.23.0 <7.28.0, pulled in transitively via ornn-web › jsdom (a test-only dependency): - GHSA-vmh5-mc38-953g (TLS cert validation bypass, SOCKS5 ProxyAgent) - GHSA-vxpw-j846-p89q (WebSocket DoS via fragment count bypass) - GHSA-hm92-r4w5-c3mj (cross-origin routing via SOCKS5 pool reuse) jsdom@29.1.1 accepts undici@^7.25.0, so forcing ^7.28.0 via the root overrides block stays within the same major and only touches the test-time surface — no runtime/user-facing change. Clears the audit gate that was failing repo-wide on every open PR.
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.
Summary
The landing
AnnouncementPopupandLaunchCelebrationPopuppinned all four edges (top/bottom: 10vh,left/right: 15vw), so the card always filled the bounded area and scrolled internally even when it held little content — leaving a large empty void below short announcements. This makes each popup size to its content: fixed width, content-hugging height capped at the prior bound, always centered.Linked issue
Closes #1143
Type of change
fix:)feat:)refactor:) — no behaviour changedocs:)chore(ci):,chore(infra):)Commit decomposition
Co-Authored-Bytrailers.Commits:
fix(web): size landing announcement popups to content, keep centereddocs: changeset for announcement popup sizing fixChangeset
bun changeset) — describe the user-facing impact.bun changeset --empty).What changed
Both popups now use a click-through full-viewport flex centering layer wrapping a single card that:
w-[70vw], equal to the prior 15vw side margins),max-h-[80vh](equal to the prior 10vh top/bottom margins), scrolling internally only when content would exceed that bound,The wrapper is
pointer-events-noneand the cardpointer-events-auto, so the hero + lifecycle ring behind it remain interactive (no backdrop) — preserving the prior non-blocking behavior.Testing
bun run typecheck:web✓AnnouncementPopupunit tests (4) ✓bun run lint✓ (only pre-existing warnings in an unrelated file)Screenshots / recordings
Manual visual QA against a running landing page is recommended before merge — the change is a Tailwind layout refactor verified by typecheck/tests/lint, but the void-vs-hug behavior is best confirmed in-browser.
Notes for the reviewer
The same fixed-edge pattern also appears in
SkillsetDetailPage.tsx(with a different bound); left untouched as out of scope for this issue.🤖 Generated with Claude Code
Generated by Claude Code