aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-08-17 19:24:45 +0300
committereug-vs <eug-vs@keemail.me>2020-08-17 19:24:45 +0300
commit7ef0e832b5c5a83d116fc660c433d82f9c893739 (patch)
tree48ae2ab02dd979c752d077dfce3970bd29c61f35 /src
parentca59e0bc05a139fe57d27b62f5e523832a9c0e0a (diff)
downloadwhich-ui-7ef0e832b5c5a83d116fc660c433d82f9c893739.tar.gz
fix: limit uploadProgress until request resolved
Diffstat (limited to 'src')
-rw-r--r--src/hooks/useS3Preupload.tsx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/hooks/useS3Preupload.tsx b/src/hooks/useS3Preupload.tsx
index 3c98e9a..3545cd5 100644
--- a/src/hooks/useS3Preupload.tsx
+++ b/src/hooks/useS3Preupload.tsx
@@ -33,7 +33,8 @@ export default (): Hook => {
}, [setUrl, setFile]);
const handleUploadProgress = useCallback((progressEvent: ProgressEvent): void => {
- setProgress(Math.round((progressEvent.loaded * 100) / progressEvent.total));
+ // Only allow upload progress reach 95%, and set 100% when request is resolved
+ setProgress(Math.round((progressEvent.loaded * 95) / progressEvent.total));
}, [setProgress]);
const resolve = useCallback(async (): Promise<string> => {
@@ -43,10 +44,12 @@ export default (): Hook => {
onUploadProgress: handleUploadProgress
};
+ setProgress(0.01);
return get('/files')
.then(response => response.data)
.then(uploadUrl => axios.put(uploadUrl, file, config))
.then(response => {
+ setProgress(100);
const uri = response.config.url;
return uri ? uri.slice(0, uri.indexOf('?')) : '';
});