Skip to content

Commit 95b34b8

Browse files
author
Akos Kitta
committed
fix: incorrect typing in FW uploader UI
1 parent d5eaa91 commit 95b34b8

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx

+14-7
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ import {
55
ArduinoFirmwareUploader,
66
FirmwareInfo,
77
} from '../../../common/protocol/arduino-firmware-uploader';
8-
import type {
8+
import {
99
BoardList,
10-
BoardListItem,
10+
BoardListItemWithBoard,
11+
getInferredBoardOrBoard,
12+
isInferredBoardListItem,
1113
} from '../../../common/protocol/board-list';
1214
import { ArduinoSelect } from '../../widgets/arduino-select';
1315
import { SelectBoardComponent } from '../certificate-uploader/select-board-components';
@@ -35,7 +37,7 @@ export const FirmwareUploaderComponent = ({
3537
>(null);
3638

3739
const [selectedItem, setSelectedItem] =
38-
React.useState<Required<BoardListItem> | null>(null);
40+
React.useState<BoardListItemWithBoard | null>(null);
3941

4042
const [availableFirmwares, setAvailableFirmwares] = React.useState<
4143
FirmwareInfo[]
@@ -58,8 +60,11 @@ export const FirmwareUploaderComponent = ({
5860
}
5961

6062
// fetch the firmwares for the selected board
63+
const board = isInferredBoardListItem(selectedItem)
64+
? selectedItem.inferredBoard
65+
: selectedItem.board;
6166
const firmwaresForFqbn = await firmwareUploader.availableFirmwares(
62-
selectedItem.board.fqbn || ''
67+
board.fqbn || ''
6368
);
6469
setAvailableFirmwares(firmwaresForFqbn);
6570

@@ -94,9 +99,11 @@ export const FirmwareUploaderComponent = ({
9499
}, [selectedItem, selectedFirmware, availableFirmwares, flashFirmware]);
95100

96101
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;
100107

101108
if (newFqbn !== prevFqbn) {
102109
setInstallFeedback(null);

0 commit comments

Comments
 (0)