Skip to content

fix: align checkboxes with their labels in HR forms - #375

Merged
jakub-przepiora merged 15 commits into
developfrom
cez/e4064d01
Oct 23, 2026
Merged

jakub-przepiora merged 15 commits into
developfrom
cez/e4064d01

Conversation

@jakub-przepiora

@jakub-przepiora jakub-przepiora commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

What

Checkboxes in the HR forms were not level with their labels, and some sat side by side at
different heights.

  • In the worker form, Active and Logistics operator now stack on their own rows instead
    of sitting side by side at different heights.
  • Every checkbox label in the app (not just HR) now sits level with its box; a label that
    wraps on a narrow screen keeps the box on its first line and stays left-aligned instead of
    centring under the box.
  • Long skill names in the worker form and in the "Employee profile" section of the user
    account form now wrap instead of pushing the skill-level dropdown off narrow screens.

Why

The shared Checkbox component centred its box and label vertically and didn't give the
label a fixed line height, so a one-line label could sit slightly off from the box, and a
wrapped label re-centred itself under the box instead of staying aligned with it. The worker
form additionally laid two checkboxes out in a row, so they drifted apart whenever one label
wrapped before the other.

How it was verified

This is a CSS-only layout change with no new routes, inputs, or business logic, so no new
Laravel tests were added; the existing test suite covers these pages' other behavior
unchanged. Click-through demo recorded by an independent QA agent on a fresh instance — see
Demo below.

Review notes

  • The Checkbox component change affects every checkbox in core (55 uses across 27 files,
    plus the data table's small variant) because the fix lives in the shared component. All
    existing labels are plain strings, so the new fixed line height cannot clip any markup.
  • This branch also carries two unrelated, pre-existing housekeeping changes: raising the
    PHPUnit memory limit to 1G (backend/phpunit.xml) to match the pre-commit hook's suite run,
    and stopping tracking of committed Python bytecode under .claude/skills (.gitignore plus
    two cleanup commits). Both are harmless but outside the scope of this fix.
  • No automated test guards the alignment itself (no unit/snapshot test on the component's
    layout classes); acceptable for a CSS-only change already covered by the click-through
    demo and manual review.

Demo

Recorded by an independent QA agent clicking through a fresh instance (login → menu → change). No API calls, deep links or injected data — enforced by demo-guard.mjs.

demo

▶️ Full-quality video (MP4)

Screenshots, step by step

after login

after login

workers list

workers list

desktop new worker unchecked

desktop new worker unchecked

desktop new worker toggled

desktop new worker toggled

worker created

worker created

desktop edit worker

desktop edit worker

desktop new account

desktop new account

desktop worker profile

desktop worker profile

mobile new account

mobile new account

mobile new worker

mobile new worker

mobile new worker toggled

mobile new worker toggled

Screenshots and all evidence files

jakub-przepiora and others added 15 commits October 21, 2026 22:25
The shared web Checkbox centred its label text (button default) and the
box against wrapped lines; the worker form also rendered Active and
Logistics as inline siblings on one line at different heights.

- Checkbox: top-align box, label line height equals box size, left-aligned
  text, min-w-0 so long labels wrap.
- WorkerForm: stack Active / Logistics in a left-aligned column.
- Worker/User skills matrix: let the skill label shrink and wrap.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Fifteen keys from earlier merges (log viewer, process segments, work
order links) existed in en.json only, failing the i18n parity gate.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
`php artisan test` runs phpunit in a child process that ignores -d on
the parent, so with PHP's default 128M the full suite crashes with
out-of-memory errors (reproduced on the develop base). Setting it in
phpunit.xml matches what .githooks/pre-commit already uses.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	CHANGELOG.md
#	backend/lang/pl.json
@jakub-przepiora jakub-przepiora changed the title /do-perfect-task # Zadanie 3: wyrównanie checkboxów w formularzach HR (wznowien… fix: align checkboxes with their labels in HR forms Oct 22, 2026
jakub-przepiora added a commit that referenced this pull request Oct 22, 2026
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1
  • cla-signed

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jakub-przepiora
jakub-przepiora marked this pull request as ready for review October 23, 2026 08:22
@jakub-przepiora
jakub-przepiora merged commit f7b03ca into develop Oct 23, 2026
2 of 3 checks passed
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