diff --git a/interface/package.json b/interface/package.json index be323b631..6cbae2ec3 100644 --- a/interface/package.json +++ b/interface/package.json @@ -35,14 +35,14 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "react-icons": "^5.5.0", - "react-router": "^7.4.1", + "react-router": "^7.5.0", "react-toastify": "^11.0.5", "typesafe-i18n": "^5.26.2", - "typescript": "^5.8.2" + "typescript": "^5.8.3" }, "devDependencies": { "@babel/core": "^7.26.10", - "@eslint/js": "^9.23.0", + "@eslint/js": "^9.24.0", "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.10.1", "@trivago/prettier-plugin-sort-imports": "^5.2.2", @@ -51,7 +51,7 @@ "@types/react": "^19.1.0", "@types/react-dom": "^19.1.1", "concurrently": "^9.1.2", - "eslint": "^9.23.0", + "eslint": "^9.24.0", "eslint-config-prettier": "^10.1.1", "formidable": "^3.5.2", "prettier": "^3.5.3", diff --git a/interface/src/app/status/Version.tsx b/interface/src/app/status/Version.tsx index 85f93df7f..08a7cfa45 100644 --- a/interface/src/app/status/Version.tsx +++ b/interface/src/app/status/Version.tsx @@ -2,6 +2,7 @@ import { useContext, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import CancelIcon from '@mui/icons-material/Cancel'; +import CloseIcon from '@mui/icons-material/Close'; import CheckIcon from '@mui/icons-material/Done'; import DownloadIcon from '@mui/icons-material/GetApp'; import WarningIcon from '@mui/icons-material/Warning'; @@ -78,7 +79,7 @@ const Version = () => { send: loadData, error } = useRequest(SystemApi.readSystemStatus).onSuccess((event) => { - // older version of EMS-ESP on 4MB boards, can't use OTA because of SSL support in HttpClient + // older version of EMS-ESP using ESP32 (not S3) and no PSRAM, can't use OTA because of SSL support in HttpClient if (event.data.arduino_version.startsWith('Tasmota')) { setDownloadOnly(true); } @@ -145,20 +146,21 @@ const Version = () => { ); }; - const getBinURL = () => { + const getBinURL = (showingDev: boolean) => { if (!internetLive) { return ''; } + const filename = 'EMS-ESP-' + - (fetchDevVersion ? latestDevVersion.name : latestVersion.name).replaceAll( + (showingDev ? latestDevVersion.name : latestVersion.name).replaceAll( '.', '_' ) + '-' + getPlatform() + '.bin'; - return fetchDevVersion + return showingDev ? DEV_URL + filename : STABLE_URL + 'v' + latestVersion.name + '/' + filename; }; @@ -180,7 +182,7 @@ const Version = () => { useLayoutTitle('EMS-ESP Firmware'); const renderInstallDialog = () => { - const binURL = getBinURL(); + const binURL = getBinURL(fetchDevVersion); return ( { onClose={() => closeInstallDialog()} > - {LL.INSTALL() + + {LL.UPDATE() + ' ' + (fetchDevVersion ? LL.DEVELOPMENT() : LL.STABLE()) + ' Firmware'} @@ -197,6 +199,7 @@ const Version = () => { {LL.INSTALL_VERSION( + downloadOnly ? LL.DOWNLOAD(1) : LL.INSTALL(), fetchDevVersion ? latestDevVersion?.name : latestVersion?.name )} @@ -220,14 +223,16 @@ const Version = () => { {LL.DOWNLOAD(1)} - + {!downloadOnly && ( + + )} ); @@ -273,23 +278,6 @@ const Version = () => { return; } - if (downloadOnly) { - return ( - - ); - } - return (