From 952f8ae3183b062e3b46791c793891f64dc771d5 Mon Sep 17 00:00:00 2001 From: ilyayudovin Date: Tue, 30 Jun 2020 02:09:37 +0300 Subject: fix eslint errors --- src/components/UploadImage/UploadImage.tsx | 20 ++++++++++++++++++-- src/pages/FeedPage/PollSubmissionImage.tsx | 10 ++++++---- src/requests.ts | 3 ++- 3 files changed, 26 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/components/UploadImage/UploadImage.tsx b/src/components/UploadImage/UploadImage.tsx index e6f6d05..d005830 100644 --- a/src/components/UploadImage/UploadImage.tsx +++ b/src/components/UploadImage/UploadImage.tsx @@ -6,6 +6,7 @@ import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogContentText from '@material-ui/core/DialogContentText'; import DialogTitle from '@material-ui/core/DialogTitle'; +import get from '../../../node_modules/axios'; interface PropTypes { isOpen: boolean; @@ -15,14 +16,27 @@ interface PropTypes { const UploadImage: React.FC = ({ setIsOpen, isOpen, callback }) => { const [url, setUrl] = useState(''); + const [isError, setIsError] = useState(false); + const handleClose = () => { setIsOpen(false); }; const handleSubmit = () => { - callback(url || ''); - setIsOpen(false); + get(url).then(res => { + if (res.headers['content-type'] === 'image/jpeg') { + callback(url || ''); + setIsOpen(false); + setIsError(false); + } else { + // console.warn(res); TODO: handle error if response status is ok but not an image + setIsError(true); + } + }).catch(() => { + // console.warn(err); TODO: handle error if resposne status is not ok + setIsError(true); + }); }; const handleChange = (event:React.ChangeEvent) => { @@ -46,6 +60,8 @@ const UploadImage: React.FC = ({ setIsOpen, isOpen, callback }) => { fullWidth autoComplete="off" onChange={handleChange} + error={isError} + helperText={isError === true ? 'invalid Url!' : ''} /> diff --git a/src/pages/FeedPage/PollSubmissionImage.tsx b/src/pages/FeedPage/PollSubmissionImage.tsx index e2ffad3..a8ec437 100644 --- a/src/pages/FeedPage/PollSubmissionImage.tsx +++ b/src/pages/FeedPage/PollSubmissionImage.tsx @@ -57,7 +57,6 @@ const PollSubmissionImage: React.FC = ({ url, setUrl }) => { <> Upload an image - ); @@ -73,9 +72,12 @@ const PollSubmissionImage: React.FC = ({ url, setUrl }) => { ); return ( - - {url ? Media : Upload} - + <> + + {url ? Media : Upload} + + + ); }; diff --git a/src/requests.ts b/src/requests.ts index b02329d..0af80dc 100644 --- a/src/requests.ts +++ b/src/requests.ts @@ -5,7 +5,8 @@ const baseURL = process.env.NODE_ENV === 'production' ? 'https://which-api.herokuapp.com' : 'http://localhost:3030'; -const requests = axios.create({ baseURL }); +const headers = ['Access-Control-Allow-Origin', '*']; +const requests = axios.create({ baseURL, headers }); requests.interceptors.request.use(config => { const token = localStorage.getItem('token'); -- cgit v1.2.3 From be0a035e662e3b7c1b7c8d62abd16b0c7f37bca1 Mon Sep 17 00:00:00 2001 From: ilyayudovin Date: Tue, 30 Jun 2020 02:25:07 +0300 Subject: delete headers from axios request --- src/components/UploadImage/UploadImage.tsx | 2 +- src/requests.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/components/UploadImage/UploadImage.tsx b/src/components/UploadImage/UploadImage.tsx index d005830..f5e680d 100644 --- a/src/components/UploadImage/UploadImage.tsx +++ b/src/components/UploadImage/UploadImage.tsx @@ -6,7 +6,7 @@ import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogContentText from '@material-ui/core/DialogContentText'; import DialogTitle from '@material-ui/core/DialogTitle'; -import get from '../../../node_modules/axios'; +import get from 'axios'; interface PropTypes { isOpen: boolean; diff --git a/src/requests.ts b/src/requests.ts index 0af80dc..b02329d 100644 --- a/src/requests.ts +++ b/src/requests.ts @@ -5,8 +5,7 @@ const baseURL = process.env.NODE_ENV === 'production' ? 'https://which-api.herokuapp.com' : 'http://localhost:3030'; -const headers = ['Access-Control-Allow-Origin', '*']; -const requests = axios.create({ baseURL, headers }); +const requests = axios.create({ baseURL }); requests.interceptors.request.use(config => { const token = localStorage.getItem('token'); -- cgit v1.2.3