Quota override cell stays a table cell, flex on an inner wrapper (#329) #330

Merged
fable-5 merged 1 commits from 329-quota-override-cell-table-layout into main 2026-08-04 13:06:22 +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);