fix(amp): put the coupling switch where it can be seen

It sat above the first amplifier card. With three cards configured — the case
it exists for — that is a scroll away from anything the operator is looking at,
and it was reported as missing rather than misplaced.

Moved next to Add amplifier: coupling belongs to the SET of amplifiers, not to
any one of them, so it belongs with the other set-level control.
This commit is contained in:
2026-08-13 15:03:46 +02:00
parent d0c6e420d2
commit 345be94c65
+16 -12
View File
@@ -3410,18 +3410,6 @@ export function SettingsModal({ onClose, onSaved, initialSection, onMainPaneChan
{amps.length === 0 && ( {amps.length === 0 && (
<p className="text-sm text-muted-foreground">{t('amp.none')}</p> <p className="text-sm text-muted-foreground">{t('amp.none')}</p>
)} )}
{/* Only offered with two or more: coupling one amplifier to itself is
a switch that cannot do anything. */}
{amps.length > 1 && (
<label className="flex items-start gap-2 text-sm cursor-pointer">
<Checkbox checked={ampsLinked} className="mt-0.5"
onCheckedChange={(c) => { setAmpsLinked(!!c); SetAmpsLinked(!!c).catch(() => {}); }} />
<span>
{t('amp.linked')}
<span className="block text-xs text-muted-foreground mt-0.5">{t('amp.linkedHint')}</span>
</span>
</label>
)}
{amps.map((amp, i) => { {amps.map((amp, i) => {
const brand = brandOf(amp.type); const brand = brandOf(amp.type);
const isPGXL = brand === 'pgxl'; const isPGXL = brand === 'pgxl';
@@ -3616,6 +3604,22 @@ export function SettingsModal({ onClose, onSaved, initialSection, onMainPaneChan
<Plus className="size-3.5 mr-1" /> {t('amp.add')} <Plus className="size-3.5 mr-1" /> {t('amp.add')}
</Button> </Button>
{/* Coupling belongs to the SET of amplifiers, not to any one of them,
so it sits with the other set-level control rather than above the
first card where three tall cards push it out of view and it has
to be hunted for. Shown from two amplifiers up: coupling one to
itself is a switch that cannot do anything. */}
{amps.length > 1 && (
<label className="flex items-start gap-2 text-sm cursor-pointer border-t border-border/60 pt-3">
<Checkbox checked={ampsLinked} className="mt-0.5"
onCheckedChange={(c) => { setAmpsLinked(!!c); SetAmpsLinked(!!c).catch(() => {}); }} />
<span>
{t('amp.linked')}
<span className="block text-xs text-muted-foreground mt-0.5">{t('amp.linkedHint')}</span>
</span>
</label>
)}
</div> </div>
</> </>
); );