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