export default function errorPage()

in src/amo/reducers/errorPage.js [50:91]


export default function errorPage(
  // eslint-disable-next-line default-param-last
  state: ErrorPageState = initialState,
  action: Action,
): ErrorPageState {
  const { payload } = action;

  switch (action.type) {
    case LOCATION_CHANGE: {
      if (state.clearOnNext) {
        return initialState;
      }

      return {
        ...state,
        clearOnNext: true,
      };
    }
    case LOAD_ERROR_PAGE: {
      // Default to a 500 error if we don't have a status code from our
      // response. See:
      // github.com/mozilla/addons-frontend/pull/1685#discussion_r99243105
      let statusCode = 500;
      if (
        payload.error &&
        payload.error.response &&
        payload.error.response.status
      ) {
        statusCode = payload.error.response.status;
      }

      return {
        ...state,
        error: payload.error,
        hasError: true,
        statusCode,
      };
    }
    default:
      return state;
  }
}