From 20e5f105db0976b637f5dcad538ac40aa4c2d110 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 17 Aug 2020 19:15:24 +0300 Subject: fix: add correct image orientation --- src/components/Image/Image.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Image/Image.tsx b/src/components/Image/Image.tsx index 1898716..716736f 100644 --- a/src/components/Image/Image.tsx +++ b/src/components/Image/Image.tsx @@ -15,6 +15,9 @@ interface PropTypes { type Status = 'success' | 'loading' | 'error'; const useStyles = makeStyles(theme => ({ + image: { + imageOrientation: 'from-image' + }, container: { width: '100%', height: '100%', @@ -71,7 +74,7 @@ const Image: React.FC = React.memo(({ {alt} Date: Mon, 17 Aug 2020 19:16:15 +0300 Subject: fix: add pollId to key in PollsList --- src/components/PollsList/RenderItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/PollsList/RenderItem.tsx b/src/components/PollsList/RenderItem.tsx index 5123bca..beed259 100644 --- a/src/components/PollsList/RenderItem.tsx +++ b/src/components/PollsList/RenderItem.tsx @@ -35,7 +35,7 @@ const RenderItem: React.FC = React.memo(({ }, [mutate, index, polls]); return ( -
+
); -- cgit v1.2.3 From 7ef0e832b5c5a83d116fc660c433d82f9c893739 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 17 Aug 2020 19:24:45 +0300 Subject: fix: limit uploadProgress until request resolved --- src/hooks/useS3Preupload.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 => { @@ -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('?')) : ''; }); -- cgit v1.2.3 From 02ae366a22fa159a21aa531d539e4e034a31e271 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 17 Aug 2020 19:29:44 +0300 Subject: chore: install bluebird --- package-lock.json | 8 +++++++- package.json | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ec8cee..d904501 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "which", - "version": "1.2.2", + "version": "1.2.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1607,6 +1607,12 @@ "@babel/types": "^7.3.0" } }, + "@types/bluebird": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz", + "integrity": "sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==", + "dev": true + }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", diff --git a/package.json b/package.json index 7375c36..8d8843a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "name": "which", - "version": "1.2.2", + "version": "1.2.3", "homepage": "https://which-ecosystem.github.io/", "dependencies": { "@material-ui/core": "^4.10.1", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.56", "axios": "^0.19.2", + "bluebird": "^3.7.2", "lodash": "^4.17.15", "notistack": "^0.9.17", "react": "^16.13.1", @@ -41,6 +42,7 @@ ] }, "devDependencies": { + "@types/bluebird": "^3.5.32", "@types/lodash": "^4.14.157", "@types/node": "^12.12.44", "@types/react": "^16.9.35", -- cgit v1.2.3 From 3b72a38197b1a1cff1c059ed5c55bf9f9d50569d Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 17 Aug 2020 19:30:20 +0300 Subject: fix: catch PollCreation errors and use Bluebird --- src/containers/PollCreation/PollCreation.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/containers/PollCreation/PollCreation.tsx b/src/containers/PollCreation/PollCreation.tsx index 107314a..489c12a 100644 --- a/src/containers/PollCreation/PollCreation.tsx +++ b/src/containers/PollCreation/PollCreation.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import Bluebird from 'bluebird'; import { useHistory } from 'react-router-dom'; import { makeStyles } from '@material-ui/core/styles'; import { @@ -49,21 +50,22 @@ const PollCreation: React.FC = () => { } = useS3Preupload(); const handleClick = async () => { - if (isLeftReady && isRightReady) { - const [leftUrl, rightUrl] = await Promise.all([resolveLeft(), resolveRight()]); + try { + const [leftUrl, rightUrl] = await Bluebird.all([resolveLeft(), resolveRight()]); const contents = { left: { url: leftUrl }, right: { url: rightUrl } }; + history.push('/feed'); + post('/polls/', { contents }).then(() => { updateFeed(); - enqueueSnackbar('Your poll has been successfully created!', { - variant: 'success' - }); + enqueueSnackbar('Your poll has been successfully created!', { variant: 'success' }); }); - + } catch (error) { + enqueueSnackbar('Failed to create a poll. Please, try again.', { variant: 'error' }); history.push('/feed'); } }; -- cgit v1.2.3