Merge pull request #8 from ente-io/handle_subscription_errors
Handle subscription errors
This commit is contained in:
commit
e1d9cc9aa6
6 changed files with 70 additions and 22 deletions
|
@ -11,19 +11,26 @@ function CollectionDropZone({
|
|||
refetchData,
|
||||
collectionAndItsLatestFile,
|
||||
setProgressView,
|
||||
progressBarProps
|
||||
|
||||
progressBarProps,
|
||||
setErrorCode
|
||||
}) {
|
||||
|
||||
const upload = async (acceptedFiles) => {
|
||||
const token = getToken();
|
||||
closeModal();
|
||||
progressBarProps.setPercentComplete(0);
|
||||
setProgressView(true);
|
||||
try {
|
||||
const token = getToken();
|
||||
closeModal();
|
||||
progressBarProps.setPercentComplete(0);
|
||||
setProgressView(true);
|
||||
|
||||
await UploadService.uploadFiles(acceptedFiles, collectionAndItsLatestFile, token, progressBarProps);
|
||||
refetchData();
|
||||
setProgressView(false);
|
||||
await UploadService.uploadFiles(acceptedFiles, collectionAndItsLatestFile, token, progressBarProps);
|
||||
refetchData();
|
||||
} catch (err) {
|
||||
if (err.response)
|
||||
setErrorCode(err.response.status);
|
||||
}
|
||||
finally {
|
||||
setProgressView(false);
|
||||
}
|
||||
}
|
||||
return (
|
||||
<DropzoneWrapper
|
||||
|
|
|
@ -7,7 +7,7 @@ import { getToken } from 'utils/common/key';
|
|||
|
||||
export default function CreateCollection(props) {
|
||||
|
||||
const { acceptedFiles, setProgressView, progressBarProps, refetchData, modalView, closeModal, closeUploadModal } = props;
|
||||
const { acceptedFiles, setProgressView, progressBarProps, refetchData, modalView, closeModal, closeUploadModal, setErrorCode } = props;
|
||||
const [albumName, setAlbumName] = useState("");
|
||||
|
||||
const handleChange = (event) => { setAlbumName(event.target.value); }
|
||||
|
@ -27,22 +27,31 @@ export default function CreateCollection(props) {
|
|||
setAlbumName(commonPathPrefix);
|
||||
}, [acceptedFiles]);
|
||||
const handleSubmit = async (event) => {
|
||||
const token = getToken();
|
||||
event.preventDefault();
|
||||
try {
|
||||
const token = getToken();
|
||||
event.preventDefault();
|
||||
|
||||
closeModal();
|
||||
closeUploadModal();
|
||||
closeModal();
|
||||
closeUploadModal();
|
||||
|
||||
const collection = await createAlbum(albumName);
|
||||
const collection = await createAlbum(albumName);
|
||||
|
||||
const collectionAndItsLatestFile: CollectionAndItsLatestFile = { collection, file: null }
|
||||
const collectionAndItsLatestFile: CollectionAndItsLatestFile = { collection, file: null }
|
||||
|
||||
progressBarProps.setPercentComplete(0);
|
||||
setProgressView(true);
|
||||
progressBarProps.setPercentComplete(0);
|
||||
setProgressView(true);
|
||||
|
||||
await UploadService.uploadFiles(acceptedFiles, collectionAndItsLatestFile, token, progressBarProps);
|
||||
refetchData();
|
||||
setProgressView(false);
|
||||
await UploadService.uploadFiles(acceptedFiles, collectionAndItsLatestFile, token, progressBarProps);
|
||||
refetchData();
|
||||
|
||||
}
|
||||
catch (err) {
|
||||
if (err.response)
|
||||
setErrorCode(err.response.status);
|
||||
}
|
||||
finally {
|
||||
setProgressView(false);
|
||||
}
|
||||
}
|
||||
return (
|
||||
<Modal
|
||||
|
|
22
src/pages/gallery/components/ErrorAlert.tsx
Normal file
22
src/pages/gallery/components/ErrorAlert.tsx
Normal file
|
@ -0,0 +1,22 @@
|
|||
import React from "react";
|
||||
import { Alert } from "react-bootstrap";
|
||||
import constants from "utils/strings/constants";
|
||||
|
||||
export default function ErrorAlert({ errorCode }) {
|
||||
let errorMessage;
|
||||
switch (errorCode) {
|
||||
case 402:
|
||||
errorMessage = constants.SUBSCRIPTION_EXPIRED;
|
||||
break;
|
||||
case 426:
|
||||
errorMessage = constants.STORAGE_QUOTA_EXCEEDED;
|
||||
default:
|
||||
errorMessage = errorCode;
|
||||
}
|
||||
console.log(errorCode);
|
||||
return (
|
||||
<Alert variant={'danger'} style={{ display: errorCode ? 'block' : 'none' }}>
|
||||
{errorMessage}
|
||||
</Alert>
|
||||
)
|
||||
}
|
|
@ -29,6 +29,7 @@ import {
|
|||
getLocalCollections,
|
||||
} from 'services/collectionService';
|
||||
import constants from 'utils/strings/constants';
|
||||
import ErrorAlert from './components/ErrorAlert';
|
||||
|
||||
const DATE_CONTAINER_HEIGHT = 45;
|
||||
const IMAGE_CONTAINER_HEIGHT = 200;
|
||||
|
@ -120,6 +121,8 @@ export default function Gallery(props) {
|
|||
maxSpreadZoom: 5,
|
||||
});
|
||||
const fetching: { [k: number]: boolean } = {};
|
||||
const [errorCode, setErrorCode] = useState<number>(null);
|
||||
|
||||
const [sinceTime, setSinceTime] = useState(0);
|
||||
|
||||
const [progress, setProgress] = useState(0);
|
||||
|
@ -335,6 +338,7 @@ export default function Gallery(props) {
|
|||
|
||||
return (
|
||||
<>
|
||||
<ErrorAlert errorCode={errorCode} />
|
||||
<LoadingBar
|
||||
color="#007bff"
|
||||
progress={progress}
|
||||
|
@ -351,6 +355,7 @@ export default function Gallery(props) {
|
|||
showUploadModal={props.showUploadModal}
|
||||
collectionAndItsLatestFile={collectionAndItsLatestFile}
|
||||
refetchData={syncWithRemote}
|
||||
setErrorCode={setErrorCode}
|
||||
/>
|
||||
{filteredData.length ? (
|
||||
<Container>
|
||||
|
|
|
@ -141,6 +141,7 @@ class UploadService {
|
|||
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
private async uploadHelper(progressBarProps, rawFile, collection, token) {
|
||||
|
@ -160,6 +161,7 @@ class UploadService {
|
|||
}
|
||||
catch (e) {
|
||||
console.log(e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -246,6 +248,7 @@ class UploadService {
|
|||
};
|
||||
} catch (e) {
|
||||
console.log("error uploading to bucket " + e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,9 @@ const englishConstants = {
|
|||
2: "Uploading your Files",
|
||||
3: "Files Uploaded Successfully !!!"
|
||||
},
|
||||
OF: 'of'
|
||||
OF: 'of',
|
||||
SUBSCRIPTION_EXPIRED: 'You don\'t have a active subscription plan!! Please get one in the mobile app',
|
||||
STORAGE_QUOTA_EXCEEDED:'You have exceeded your designated storage Quota, please upgrade your plan to add more files',
|
||||
};
|
||||
|
||||
export default englishConstants;
|
||||
|
|
Loading…
Add table
Reference in a new issue