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>{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);