Compare commits

...

1 Commits

Author SHA1 Message Date
ec4e086bc7 Quota override cell stays a table cell, flex on an inner wrapper (#329)
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 7m11s
CI / Build container images (pull_request) Successful in 1m27s
CI / Auth e2e pack (pull_request) Successful in 9m48s
CI / Import/export fidelity gate (pull_request) Successful in 1m3s
Same defect and same fix as the user list's actions cell (#177):
display:flex directly on the override td removed its table-cell
behaviour, so the cell stopped growing to row height and its bottom
border no longer met the row's — visibly uneven separator lines
(Stefan's screenshot from the self-hosting walkthrough). The flex
layout now lives on .quota-row__override-inner.

Measured locally like #177: bottom-delta across all cells of every
quota row was 24–49 px before, 0 px after (override set, so the cell
carries input + two link buttons); admin-quotas e2e pack green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017aviRTgWCcAHUh1SBoxf6P
2026-08-04 12:38:42 +02:00
2 changed files with 20 additions and 15 deletions

View File

@ -138,21 +138,26 @@ function QuotaRow({
<td>{t(`keys.${line.key}`)}</td>
<td>{line.instanceDefault}</td>
<td className="quota-row__override">
<input
type="number"
min={0}
className="quota-row__input"
value={draft}
onChange={(e) => onDraft(e.target.value)}
/>
<button type="button" className="linklike" onClick={onSet}>
{t('overrides.set')}
</button>
{line.override !== null && (
<button type="button" className="linklike" onClick={onClear}>
{t('overrides.clear')}
{/* Flex lives on the inner div: a td with display:flex stops behaving
like a table cell and its bottom border no longer meets the row's
(same fix as the user list's actions cell, #177). */}
<div className="quota-row__override-inner">
<input
type="number"
min={0}
className="quota-row__input"
value={draft}
onChange={(e) => onDraft(e.target.value)}
/>
<button type="button" className="linklike" onClick={onSet}>
{t('overrides.set')}
</button>
)}
{line.override !== null && (
<button type="button" className="linklike" onClick={onClear}>
{t('overrides.clear')}
</button>
)}
</div>
</td>
<td className="quota-row__effective">{line.effective}</td>
<td className="quota-row__usage">

View File

@ -3048,7 +3048,7 @@ ul[data-type='task_list'] li p:last-of-type {
margin-bottom: var(--space-2);
}
.quota-row__override {
.quota-row__override-inner {
display: flex;
align-items: center;
gap: var(--space-2);