From 63597e4b8898dd2cd4fed426b6cd7b03a1bb5d74 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Thu, 16 Feb 2023 12:05:23 -0600 Subject: [PATCH] firmware/installPybricksDialog: only call useFirmware() once We were unpacking the firmware twice. Instead, we should only call useFirmware() once and pass the results as props. --- .../installPybricksDialog/InstallPybricksDialog.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/firmware/installPybricksDialog/InstallPybricksDialog.tsx b/src/firmware/installPybricksDialog/InstallPybricksDialog.tsx index ba49eadd..d0d5cf66 100644 --- a/src/firmware/installPybricksDialog/InstallPybricksDialog.tsx +++ b/src/firmware/installPybricksDialog/InstallPybricksDialog.tsx @@ -321,8 +321,9 @@ const SelectHubPanel: React.VoidFunctionComponent = ({ }; type AcceptLicensePanelProps = { - hubType: Hub; licenseAccepted: boolean; + firmwareData: FirmwareData | undefined; + firmwareError: Error | undefined; isCustomFirmwareRequested: boolean; customFirmwareData: FirmwareData | undefined; customFirmwareError: Error | undefined; @@ -330,14 +331,14 @@ type AcceptLicensePanelProps = { }; const AcceptLicensePanel: React.VoidFunctionComponent = ({ - hubType, licenseAccepted, + firmwareData, + firmwareError, isCustomFirmwareRequested, customFirmwareData, customFirmwareError, onLicenseAcceptedChanged, }) => { - const { firmwareData, firmwareError } = useFirmware(hubType); const i18n = useI18n(); const selectedFirmwareData = isCustomFirmwareRequested @@ -447,7 +448,7 @@ export const InstallPybricksDialog: React.VoidFunctionComponent = () => { const [hubName, setHubName] = useState(''); const [licenseAccepted, setLicenseAccepted] = useState(false); const [hubType] = useHubPickerSelectedHub(); - const { firmwareData } = useFirmware(hubType); + const { firmwareData, firmwareError } = useFirmware(hubType); const [customFirmwareZip, setCustomFirmwareZip] = useState(); const { isCustomFirmwareRequested, customFirmwareData, customFirmwareError } = useCustomFirmware(customFirmwareZip); @@ -495,8 +496,9 @@ export const InstallPybricksDialog: React.VoidFunctionComponent = () => { title={i18n.translate('licensePanel.title')} panel={