diff --git a/app/src/DashboardPage.js b/app/src/DashboardPage.js
index 8053bd28..6d01de9e 100644
--- a/app/src/DashboardPage.js
+++ b/app/src/DashboardPage.js
@@ -114,6 +114,7 @@ function EvaluateForm() {
15 km to miles
65 degF to degC
7 * 750 Mb
+ 8 * pi
const inputRef = React.useRef();
@@ -122,12 +123,16 @@ function EvaluateForm() {
const [evaluatedValue, setEvaluatedValue] = React.useState(helpContents);
const doEvaluate = () => {
+ if (!inputValue) {
+ setEvaluatedValue(helpContents);
+ return;
+ }
setEvaluatedValue(''); // Clear input temporarily so the user can tell something happened.
try {
setEvaluatedValue(evaluate(inputValue).toString());
} catch (error) {
console.error(error);
- setEvaluatedValue('Unable to evaluate.');
+ setEvaluatedValue(`Unable to evaluate: ${error.message}`);
}
}
@@ -445,4 +450,4 @@ export function DashboardPage() {
{!searchStr && }
{body}
-}
\ No newline at end of file
+}
diff --git a/app/src/components/Upload.js b/app/src/components/Upload.js
index de98508d..d2c3ef90 100644
--- a/app/src/components/Upload.js
+++ b/app/src/components/Upload.js
@@ -19,7 +19,9 @@ export function Upload({disabled}) {
doClear,
tagsSelector,
overwrite,
- setOverwrite
+ setOverwrite,
+ overallProgress,
+ inProgress,
} = useUploadFile();
const onDrop = React.useCallback(async (acceptedFiles) => {
@@ -28,7 +30,7 @@ export function Upload({disabled}) {
}
}, [destination]);
- const {getRootProps, getInputProps} = useDropzone({onDrop});
+ const {getRootProps, getInputProps} = useDropzone({onDrop, disabled: inProgress});
React.useEffect(() => {
if (!destination) {
@@ -77,13 +79,18 @@ export function Upload({disabled}) {
setDestination(i)}
- disabled={disabled}
+ disabled={disabled || inProgress}
style={{marginBottom: '0.5em'}}
/>
{tagsSelector}
- setOverwrite(!overwrite)}/>
+ setOverwrite(!overwrite)}
+ disabled={disabled || inProgress}
+ />
{destination ?
@@ -91,8 +98,7 @@ export function Upload({disabled}) {
-