@@ -5,9 +5,11 @@ import {
5
5
ArduinoFirmwareUploader ,
6
6
FirmwareInfo ,
7
7
} from '../../../common/protocol/arduino-firmware-uploader' ;
8
- import type {
8
+ import {
9
9
BoardList ,
10
- BoardListItem ,
10
+ BoardListItemWithBoard ,
11
+ getInferredBoardOrBoard ,
12
+ isInferredBoardListItem ,
11
13
} from '../../../common/protocol/board-list' ;
12
14
import { ArduinoSelect } from '../../widgets/arduino-select' ;
13
15
import { SelectBoardComponent } from '../certificate-uploader/select-board-components' ;
@@ -35,7 +37,7 @@ export const FirmwareUploaderComponent = ({
35
37
> ( null ) ;
36
38
37
39
const [ selectedItem , setSelectedItem ] =
38
- React . useState < Required < BoardListItem > | null > ( null ) ;
40
+ React . useState < BoardListItemWithBoard | null > ( null ) ;
39
41
40
42
const [ availableFirmwares , setAvailableFirmwares ] = React . useState <
41
43
FirmwareInfo [ ]
@@ -58,8 +60,11 @@ export const FirmwareUploaderComponent = ({
58
60
}
59
61
60
62
// fetch the firmwares for the selected board
63
+ const board = isInferredBoardListItem ( selectedItem )
64
+ ? selectedItem . inferredBoard
65
+ : selectedItem . board ;
61
66
const firmwaresForFqbn = await firmwareUploader . availableFirmwares (
62
- selectedItem . board . fqbn || ''
67
+ board . fqbn || ''
63
68
) ;
64
69
setAvailableFirmwares ( firmwaresForFqbn ) ;
65
70
@@ -94,9 +99,11 @@ export const FirmwareUploaderComponent = ({
94
99
} , [ selectedItem , selectedFirmware , availableFirmwares , flashFirmware ] ) ;
95
100
96
101
const onItemSelect = React . useCallback (
97
- ( item : Required < BoardListItem > | null ) => {
98
- const newFqbn = item && item . board . fqbn ;
99
- const prevFqbn = ( selectedItem && selectedItem . board . fqbn ) || null ;
102
+ ( item : BoardListItemWithBoard | null ) => {
103
+ const newFqbn = item && getInferredBoardOrBoard ( item ) ?. fqbn ;
104
+ const selectedFqbn =
105
+ selectedItem && getInferredBoardOrBoard ( selectedItem ) ?. fqbn ;
106
+ const prevFqbn = selectedFqbn || null ;
100
107
101
108
if ( newFqbn !== prevFqbn ) {
102
109
setInstallFeedback ( null ) ;
0 commit comments