diff --git a/interface/package.json b/interface/package.json
index 4192b4553..252358b2d 100644
--- a/interface/package.json
+++ b/interface/package.json
@@ -48,7 +48,7 @@
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@types/babel__core": "^7",
"@types/formidable": "^3",
- "@types/node": "^22.3.0",
+ "@types/node": "^22.4.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
diff --git a/interface/src/app/main/Devices.tsx b/interface/src/app/main/Devices.tsx
index f8cf452cb..20ed79122 100644
--- a/interface/src/app/main/Devices.tsx
+++ b/interface/src/app/main/Devices.tsx
@@ -177,14 +177,6 @@ const Devices = () => {
height: 42px;
}
`,
- BaseCell: `
- &:nth-of-type(2) {
- text-align: left;
- },
- &:nth-of-type(4) {
- text-align: center;
- }
- `,
HeaderRow: `
.th {
padding: 8px;
diff --git a/interface/src/app/settings/DownloadUpload.tsx b/interface/src/app/settings/DownloadUpload.tsx
index a26c0de07..c63138d2e 100644
--- a/interface/src/app/settings/DownloadUpload.tsx
+++ b/interface/src/app/settings/DownloadUpload.tsx
@@ -299,9 +299,15 @@ const DownloadUpload = () => {
)}
-
+
+ {LL.UPLOAD()}
+
- {restartNeeded && (
+
+ {LL.UPLOAD_TEXT()}
+
+
+ {restartNeeded ? (
}
@@ -312,6 +318,8 @@ const DownloadUpload = () => {
{LL.RESTART()}
+ ) : (
+
)}
>
);
diff --git a/interface/src/app/status/Status.tsx b/interface/src/app/status/Status.tsx
index 7b3503790..e591b8d8b 100644
--- a/interface/src/app/status/Status.tsx
+++ b/interface/src/app/status/Status.tsx
@@ -63,9 +63,12 @@ const SystemStatus = () => {
immediate: false
});
- const { send: factoryPartitionCommand } = useRequest(SystemApi.factoryPartition(), {
- immediate: false
- });
+ const { send: factoryPartitionCommand } = useRequest(
+ SystemApi.factoryPartition(),
+ {
+ immediate: false
+ }
+ );
const {
data: data,
diff --git a/interface/src/components/upload/SingleUpload.tsx b/interface/src/components/upload/SingleUpload.tsx
index 72a8e9b63..126673f78 100644
--- a/interface/src/components/upload/SingleUpload.tsx
+++ b/interface/src/components/upload/SingleUpload.tsx
@@ -2,7 +2,13 @@ import { useEffect, useState } from 'react';
import { toast } from 'react-toastify';
import CancelIcon from '@mui/icons-material/Cancel';
-import { Box, Button, LinearProgress, Typography } from '@mui/material';
+import {
+ Box,
+ Button,
+ LinearProgress,
+ type LinearProgressProps,
+ Typography
+} from '@mui/material';
import * as SystemApi from 'api/system';
@@ -11,6 +17,21 @@ import { useI18nContext } from 'i18n/i18n-react';
import DragNdrop from './DragNdrop';
+function LinearProgressWithLabel(props: LinearProgressProps & { value: number }) {
+ return (
+
+
+
+
+
+ {`${Math.round(
+ props.value
+ )}%`}
+
+
+ );
+}
+
const SingleUpload = ({ setRestartNeeded }) => {
const [md5, setMd5] = useState();
const [file, setFile] = useState();
@@ -50,19 +71,10 @@ const SingleUpload = ({ setRestartNeeded }) => {
return (
<>
-
- {LL.UPLOAD()}
-
-
-
- {LL.UPLOAD_TEXT()}
-
-
{isUploading ? (
<>
-