Merge pull request #540 from sharetribe/topbar-error-handling

Use utility error handler in Topbar
This commit is contained in:
Hannu Lyytikäinen 2017-11-07 15:56:56 +02:00 committed by GitHub
commit a39bf13154
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -11,6 +11,7 @@ import { withViewport } from '../../util/contextHelpers';
import { parse, stringify } from '../../util/urlHelpers';
import { createResourceLocatorString, pathByRouteName } from '../../util/routes';
import * as propTypes from '../../util/propTypes';
import { isTooManyEmailVerificationRequestsError } from '../../util/errors';
import {
Button,
IconEmailAttention,
@ -27,7 +28,6 @@ import MenuIcon from './MenuIcon';
import SearchIcon from './SearchIcon';
import css from './Topbar.css';
const ERROR_CODE_TOO_MANY_VERIFICATION_REQUESTS = 'too-many-verification-requests';
const MAX_MOBILE_SCREEN_WIDTH = 768;
const VERIFY_EMAIL_MODAL_WHITELIST = [
'LoginPage',
@ -55,18 +55,6 @@ const redirectToURLWithoutModalState = (props, modalStateParam) => {
history.push(`${pathname}${searchString}`, state);
};
const firstApiError = error => {
if (error && error.data && error.data.errors && error.data.errors.length > 0) {
return error.data.errors[0];
}
return null;
};
const isTooManyVerificationRequestsApiError = error => {
const apiError = firstApiError(error);
return apiError && apiError.code === ERROR_CODE_TOO_MANY_VERIFICATION_REQUESTS;
};
const GenericError = props => {
const { show } = props;
const classes = classNames(css.genericError, {
@ -245,7 +233,7 @@ class TopbarComponent extends Component {
</NamedLink>
);
const resendErrorTranslationId = isTooManyVerificationRequestsApiError(
const resendErrorTranslationId = isTooManyEmailVerificationRequestsError(
sendVerificationEmailError
)
? 'Topbar.resendFailedTooManyRequests'