Skip to content

fix(ui): Preloads overflow clipping and CodeBreak button placement#98

Open
Aejkatappaja wants to merge 1 commit intoQwikDev:mainfrom
Aejkatappaja:fix/ui-layout-polish
Open

fix(ui): Preloads overflow clipping and CodeBreak button placement#98
Aejkatappaja wants to merge 1 commit intoQwikDev:mainfrom
Aejkatappaja:fix/ui-layout-polish

Conversation

@Aejkatappaja
Copy link
Copy Markdown
Contributor

Summary

Two UI polish fixes spotted while testing the browser extension and the in-app overlay on the Preloads and Code Break panels.

Preloads — outer container clipped content

The Preloads panel root used overflow-hidden on an h-full flex container. When the stat-cards grid and filter header took up most of the available vertical space (common in narrower devtools panels), the table below was pushed out of view with no way to scroll. Horizontally, the stat cards were also clipped on narrower widths because of the same outer overflow-hidden.

Switched the outer container to overflow-auto and replaced h-full min-h-0 on the column stack with min-h-full so the content can grow past the viewport and scroll naturally. The inner table keeps its own horizontal scroll wrapper for the min-w-[1080px] table, so the sticky header behaviour is preserved.

Diff: packages/ui/src/features/Preloads/Preloads.tsx

CodeBreak (StateParser) — Parse State button overlapped the next card

The content container inside the Input State card had the classes min-h-0 flex-1 flex-col space-y-3 p-3 — note the missing flex. Without flex, flex-col is a no-op and the textarea's h-full expanded to the full card height, pushing the Parse State button outside the card. On the mobile-stacked layout (single column), that button then landed directly on top of the Parsed State card's header, making it visually overlap and hard to click.

Rather than reintroducing the missing flex and hoping the stack stays balanced at all widths, moved the Parse State button into the Input State card header alongside the title. More robust across panel widths, easier to reach, and consistent with the rest of the UI where per-card actions live in the header.

Diff: packages/ui/src/features/CodeBreak/StateParser.tsx

Testing

  • Playground overlay (pnpm --filter playground dev, then open http://localhost:5174/): both panels render correctly at narrow and wide widths; Preloads scrolls, Parse State button visible and clickable in the header.
  • Chrome extension (pnpm --filter @devtools/ui build && pnpm --filter @devtools/browser-extension build, reload in chrome://extensions): Preloads panel no longer clips; Code Break tab button lives in the header, no overlap with the Parsed State card.

Notes

  • Pure UI/CSS change, no public API or behavioural surface affected.
  • Tests unchanged (UI package: 42 passing; extension: 8 passing).
  • Also reminded me that @devtools/ui ships a pre-built lib/, so extension rebuilds need the UI build step first (pnpm --filter @devtools/ui build) — unrelated to this PR but worth flagging for future extension work.

- Preloads panel: outer overflow-hidden clipped stat cards and prevented
  scroll when content exceeded the panel height. Switched to overflow-auto
  with min-h-full on the column stack so content scrolls on narrow or
  short panels.
- CodeBreak StateParser: content container was missing the `flex` class,
  so the textarea pushed the Parse State button outside the card into the
  next grid row, overlapping the Parsed State header. Moved the button
  into the card header next to the title.
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 23, 2026

🦋 Changeset detected

Latest commit: ff98038

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@qwik.dev/devtools Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 23, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@qwik.dev/devtools@98

commit: ff98038

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