diff options
3 files changed, 26 insertions, 4 deletions
diff --git a/app/assets/javascripts/components/actions/statuses.jsx b/app/assets/javascripts/components/actions/statuses.jsx index ee662fe79..6f43539e0 100644 --- a/app/assets/javascripts/components/actions/statuses.jsx +++ b/app/assets/javascripts/components/actions/statuses.jsx @@ -28,7 +28,6 @@ export function fetchStatus(id) { const skipLoading = getState().getIn(['statuses', id], null) !== null; dispatch(fetchContext(id)); - dispatch(fetchStatusCard(id)); if (skipLoading) { return; @@ -102,8 +101,14 @@ export function fetchContext(id) { api(getState).get(`/api/v1/statuses/${id}/context`).then(response => { dispatch(fetchContextSuccess(id, response.data.ancestors, response.data.descendants)); + dispatch(fetchStatusCard(id)); }).catch(error => { - dispatch(fetchContextFail(id, error)); + if (error.response.status == 404){ + dispatch(deleteStatusSuccess(id)); + dispatch(deleteFromTimelines(id)); + }else{ + dispatch(fetchContextFail(id, error)); + } }); }; }; diff --git a/app/assets/javascripts/components/components/status_not_found.jsx b/app/assets/javascripts/components/components/status_not_found.jsx new file mode 100644 index 000000000..917c1c06f --- /dev/null +++ b/app/assets/javascripts/components/components/status_not_found.jsx @@ -0,0 +1,16 @@ +import { FormattedMessage } from 'react-intl'; + +const style = { + textAlign: 'center', + fontSize: '16px', + fontWeight: '500', + paddingTop: '120px' +}; + +const StatusNotFound = () => ( + <div className='status-not-found-indicator' style={style}> + <FormattedMessage id='status_not_found_indicator.label' defaultMessage='Status Not Found' /> + </div> +); + +export default StatusNotFound; diff --git a/app/assets/javascripts/components/features/status/index.jsx b/app/assets/javascripts/components/features/status/index.jsx index e17c078d2..68509d593 100644 --- a/app/assets/javascripts/components/features/status/index.jsx +++ b/app/assets/javascripts/components/features/status/index.jsx @@ -4,7 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import { fetchStatus } from '../../actions/statuses'; import Immutable from 'immutable'; import EmbeddedStatus from '../../components/status'; -import LoadingIndicator from '../../components/loading_indicator'; +import StatusNotFound from '../../components/status_not_found'; import DetailedStatus from './components/detailed_status'; import ActionBar from './components/action_bar'; import Column from '../ui/components/column'; @@ -117,7 +117,8 @@ const Status = React.createClass({ if (status === null) { return ( <Column> - <LoadingIndicator /> + <ColumnBackButton /> + <StatusNotFound /> </Column> ); } |