Skip to content

Fix mobile layouts for active dataset banner and CV Manager modal#119

Merged
vincentmakes merged 6 commits into
mainfrom
claude/fix-mobile-responsiveness-tKyfz
Apr 18, 2026
Merged

Fix mobile layouts for active dataset banner and CV Manager modal#119
vincentmakes merged 6 commits into
mainfrom
claude/fix-mobile-responsiveness-tKyfz

Conversation

@vincentmakes

Copy link
Copy Markdown
Owner

Description

This PR fixes responsive layout issues on mobile devices for two key UI components:

  1. Active dataset banner (portrait mode): The dataset name now occupies its own row, with version/language/public-status badges stacking underneath. The language variants row appears below. The "+ Add language" button collapses to icon-only and the "Switch other variants" label is hidden on narrow screens.

  2. CV Manager modal (phones): Restructured to guarantee the dataset name, LOAD button, radio button, and menu fit on the first row at iPhone widths. Secondary metadata (badges, URL, date) wraps to a second row. The date is hidden below 420px. Group header buttons ("+ New version", "Add language") collapse to icon-only on mobile.

  3. Section reorder overlay: Fixed the dashed placeholder to match the height of the floating pill. Removed the scale(1.04) transform during drag so the slot it leaves behind aligns with where it returns.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)

Checklist

Required for all code changes

  • Version has been bumped in all 3 files (package.json, package-lock.json, version.json)
  • CHANGELOG.md has been updated with a new entry under the correct version

If adding or changing user-visible strings

  • No new hardcoded strings added (only layout/display changes)

Test Plan

Verify on mobile devices (iPhone SE / 375px width and below):

  • Active dataset banner: name on row 1, badges on row 2, variants on row 3
  • CV Manager modal: dataset info fits first row, secondary metadata wraps below
  • Section reorder: placeholder height matches floating pill, no scale distortion during drag

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ

claude added 6 commits April 18, 2026 00:11
…dataset banner

- Section reorder pill no longer scales up while dragged, so the dashed
  placeholder and the floating pill share the same height.
- CV Manager modal wraps at ≤640px so dataset name, LOAD, radio and ⋮ stay
  on the first row; secondary metadata (editing/make-public/url/date) wraps
  underneath. Group header actions collapse to icon-only.
- Active dataset banner wraps at ≤640px: name on row 1, badges stacked
  below, variants on their own row. Add-language becomes icon-only and the
  "Switch other variants" label is dropped.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
…(768 px)

The new CVM-modal / active-dataset-banner stacking rules now trigger at the
same breakpoint as the existing hamburger-menu and banner-padding overrides,
instead of one tier below.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
The ≤768 px mobile block now hides URL, last-modified date, the MAKE
PUBLIC shortcut (redundant with the radio), and the EDITING / DEFAULT
pills (the row background + border-left accent already convey state).
All of these remain reachable through the ⋮ menu, which already exposes
Copy URL, Preview, Change language and Delete.

Also drop the stray @media (max-width: 420px) block — keeping a single
768 px breakpoint across the modal is more consistent than tiering.

Redundant "Existing CVs" subtitle is also dropped on mobile; the modal
title already labels the section.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
The last commit collapsed the row to a single line by hiding everything
non-essential. Spec is "optimise / hide what's non-essential", not
"single-line row" — metadata (EDITING / DEFAULT / PUBLIC or MAKE PUBLIC /
URL / last-modified date) should still be visible, just stacked on a
second line beneath the name. Row 1 keeps the action essentials (radio,
lang, version, name, LOAD, ⋮); row 2 carries the state + metadata.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
…pping

The icon-only add-language button on phones read as a bare + with no
hint that it opens a language picker. Add a second material icon
(language / globe) so the button is "+ 🌐" on phones while desktop
still shows "+ Add language" (the globe is hidden on desktop).

Also fix the clipped dropdown: when the button sits near the right
edge of the variants row, the existing right:0 anchor made the 200 px
dropdown overflow off the left edge of a 375 px viewport. On phones
we unpin .dataset-add-lang-wrapper and let the dropdown anchor to the
fixed banner with left:12 / right:12, so it spans the viewport width
cleanly.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
…CV:"

The verb "Switch" was redundant — the chips next to the label are
clearly clickable alternatives. Shortening makes the desktop label
land in one line more often and matches the mobile layout (where the
label is hidden anyway). All eight locale files updated.

https://claude.ai/code/session_014ZA2dkMwzKxszFUnDX4kDJ
@vincentmakes vincentmakes merged commit 6ab381f into main Apr 18, 2026
3 checks passed
@vincentmakes vincentmakes deleted the claude/fix-mobile-responsiveness-tKyfz branch April 18, 2026 04:58
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.

2 participants