Skip to content

feat(Forms): Use CSS grid for form rows.#3996

Open
tvdeyen wants to merge 3 commits into
mainfrom
use-css-grid-for-forms
Open

feat(Forms): Use CSS grid for form rows.#3996
tvdeyen wants to merge 3 commits into
mainfrom
use-css-grid-for-forms

Conversation

@tvdeyen

@tvdeyen tvdeyen commented Jun 19, 2026

Copy link
Copy Markdown
Member

What is this pull request for?

Instead of a float based layout that made it necessary to
have a clearfix and add every single potential input / component
that goes into the second column into a CSS selector we use
the very much established CSS grid now.

Most changes are deletions, but some quirks were necessary, but
all of them make very much sense.

Notable changes

This changes the label/input ratio from 0.35 / 1.65 to 1 / 2.25
in order to make more room for inputs and components and still keep
the label wide enough.

Screenshots

CleanShot 2026-06-19 at 13 29 43@2x CleanShot 2026-06-19 at 13 29 17@2x

Checklist

tvdeyen added 2 commits June 19, 2026 13:13
The compose setup failed in a few ways: pnpm install errored because the
image copied only pnpm-lock.yaml, leaving pnpm-workspace.yaml (and its
allowBuilds entry) out of the build; the listen gem flooded boot with
"already being watched" warnings; dependencies could drift from the shared
source since gems and node_modules were baked once into the image; and the
web service refused to boot whenever a stale tmp/pids/server.pid was left
behind on the shared mount.

Copy pnpm-*.yaml so the workspace config is present, silence the listen
warnings, add a one-shot deps service with a shared bundle volume so gems
and node_modules are reinstalled against the current lockfiles on every up,
and have the web command clear a stale pidfile and exec the server so it
receives SIGTERM and shuts down cleanly.
The nodeLinker: hoisted setting was an earlier attempt to stop Rails'
evented file watcher (listen gem) from warning about directories being
watched through two paths. It doesn't actually help: pnpm keeps its .pnpm
symlink store regardless of the layout, so listen still follows those
symlinks and warns. Revert to pnpm's default layout and instead silence
the warning at its source via LISTEN_GEM_ADAPTER_WARN_BEHAVIOR on the two
Rails processes (web and dartsass:watch) in the dummy app's dev Procfile.
The admin sourcemap changes accordingly because dependency sources now
resolve through .pnpm store paths under the default layout; the bundle
itself is byte-for-byte unchanged.
@tvdeyen tvdeyen added this to the 8.3 milestone Jun 19, 2026
@tvdeyen tvdeyen requested a review from a team as a code owner June 19, 2026 11:42
@tvdeyen tvdeyen added the enhancement New feature or enhancement label Jun 19, 2026
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.12%. Comparing base (023e160) to head (2071ad4).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3996   +/-   ##
=======================================
  Coverage   98.12%   98.12%           
=======================================
  Files         346      346           
  Lines        8974     8974           
=======================================
  Hits         8806     8806           
  Misses        168      168           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Instead of a float based layout that made it necessary to
have a clearfix and add every single potential input / component
that goes into the second column into a CSS selector we use
the very much established CSS grid now.

Most changes are deletions, but some quirks were necessary, but
all of them make very much sense.

This changes the label/input ratio from 0.35 / 1.65 to 1 / 2.25
in order to make more room for inputs and components and still keep
the label wide enough.
@tvdeyen tvdeyen force-pushed the use-css-grid-for-forms branch from c890f51 to 2071ad4 Compare June 19, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant