aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-07-22 18:13:08 -0400
committerIvan Chen <ivan@tagg.id>2021-07-22 18:13:08 -0400
commit8181eacc003342fc6bff649b8d1bd793a88efee5 (patch)
tree9634355ea571cec476c24d712a69efd9a1419533 /src/components
parent8100e6a9cff95227778158d2bdc870f32caa72d4 (diff)
Handle error case for displaying alert, Add logic to auto reload
Diffstat (limited to 'src/components')
-rw-r--r--src/components/moments/MomentUploadProgressBar.tsx25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/components/moments/MomentUploadProgressBar.tsx b/src/components/moments/MomentUploadProgressBar.tsx
index 742c403b..afda16e2 100644
--- a/src/components/moments/MomentUploadProgressBar.tsx
+++ b/src/components/moments/MomentUploadProgressBar.tsx
@@ -10,6 +10,7 @@ import {
import {SafeAreaView} from 'react-native-safe-area-context';
import {useDispatch, useSelector} from 'react-redux';
import {checkMomentUploadFinished} from '../../services';
+import {loadUserMoments} from '../../store/actions';
import {setMomentUploadProgressBar} from '../../store/reducers';
import {RootState} from '../../store/rootReducer';
import {MomentUploadStatusType} from '../../types';
@@ -21,6 +22,9 @@ interface MomentUploadProgressBarProps {}
const MomentUploadProgressBar: React.FC<MomentUploadProgressBarProps> =
({}) => {
const dispatch = useDispatch();
+ const {userId: loggedInUserId} = useSelector(
+ (state: RootState) => state.user.user,
+ );
const {momentUploadProgressBar} = useSelector(
(state: RootState) => state.user,
);
@@ -72,17 +76,19 @@ const MomentUploadProgressBar: React.FC<MomentUploadProgressBarProps> =
}, 5 * 1000);
// timeout if takes longer than 1 minute to process
setTimeout(() => {
- console.error('Check for done processing timed out');
clearInterval(timer);
- dispatch({
- type: setMomentUploadProgressBar.type,
- payload: {
- momentUploadProgressBar: {
- ...momentUploadProgressBar,
- status: MomentUploadStatusType.Error,
+ if (!doneProcessing) {
+ console.error('Check for done processing timed out');
+ dispatch({
+ type: setMomentUploadProgressBar.type,
+ payload: {
+ momentUploadProgressBar: {
+ ...momentUploadProgressBar,
+ status: MomentUploadStatusType.Error,
+ },
},
- },
- });
+ });
+ }
}, 60 * 1000);
return () => clearInterval(timer);
}
@@ -109,6 +115,7 @@ const MomentUploadProgressBar: React.FC<MomentUploadProgressBarProps> =
progress.value = 0;
// clear this component after a duration
setTimeout(() => {
+ dispatch(loadUserMoments(loggedInUserId));
dispatch({
type: setMomentUploadProgressBar.type,
payload: {