Early return exits before showCalibrate + renderCalibrateDropdown() runs.
Fix: include {showCalibrate && renderCalibrateDropdown()} inside the
pending_calibration return block.
2.0 KiB
2.0 KiB
MSG-2026-04-13-calibrate-dropdown-not-rendering
From: Chronicler #85
Date: 2026-04-13
Priority: HIGH — Identify Version button does nothing (no console errors)
Status: OPEN
Problem
The pending_calibration render block does an early return with its own div.
When the user clicks "Identify Version", openCalibrate() fires, sets
showCalibrate = true and loads releases — but the main render path that
includes {showCalibrate && renderCalibrateDropdown()} never runs because
the early return already exited.
The dropdown is orphaned — state is set but nothing renders it.
Current (broken)
if (data?.pending_calibration) {
return (
<div>
...
<button onClick={openCalibrate}>Identify Version</button>
// ← showCalibrate and renderCalibrateDropdown() never appear here
</div>
);
}
// This code never runs for pending_calibration servers:
{showCalibrate && renderCalibrateDropdown()}
Fix
Include the dropdown inside the pending_calibration block:
if (data?.pending_calibration) {
return (
<div className={classNames(
'rounded shadow-lg bg-gray-600',
'col-span-3 md:col-span-2 lg:col-span-6',
'px-3 py-2 md:p-3 lg:p-4 mt-2'
)}>
<div className={'flex items-center justify-between'}>
<div className={'flex items-center'}>
<FontAwesomeIcon icon={faCube} className={'w-4 h-4 mr-2 text-gray-400'} />
<span className={'text-gray-400 text-sm'}>
{data.modpack_name || 'Modpack'} — Version unknown
</span>
</div>
<button onClick={openCalibrate}
className={'text-xs px-3 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded transition-colors'}>
Identify Version
</button>
</div>
{showCalibrate && renderCalibrateDropdown()}
</div>
);
}
— Chronicler #85