Bridge: MSG — calibrate dropdown not rendering in pending_calibration block
Early return exits before showCalibrate + renderCalibrateDropdown() runs.
Fix: include {showCalibrate && renderCalibrateDropdown()} inside the
pending_calibration return block.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 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)
|
||||
```tsx
|
||||
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:
|
||||
|
||||
```tsx
|
||||
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*
|
||||
Reference in New Issue
Block a user