feat(error-modal): hookup ErrorModal in app layout

This commit is contained in:
George Lima 2019-01-30 21:22:24 -03:00
parent eaa0ca3f6a
commit ead5a87858
3 changed files with 24 additions and 7 deletions

View File

@ -1,7 +1,9 @@
// @flow
import React from 'react';
import React, { type Element } from 'react';
import styled from 'styled-components';
import { ErrorModalComponent } from './error-modal';
const Layout = styled.div`
display: flex;
flex-direction: column;
@ -14,12 +16,25 @@ const Layout = styled.div`
`;
type Props = {
chidren: any, // eslint-disable-line
children: Element<*>,
closeErrorModal: () => void,
isErrorModalVisible: boolean,
error: string,
};
export const LayoutComponent = (props: Props) => {
// $FlowFixMe
const { children } = props; // eslint-disable-line
const {
children, error, isErrorModalVisible, closeErrorModal,
} = props;
return <Layout id='layout'>{children}</Layout>;
return (
<Layout id='layout'>
{children}
<ErrorModalComponent
message={error}
isVisible={isErrorModalVisible}
onRequestClose={closeErrorModal}
/>
</Layout>
);
};

View File

@ -7,6 +7,7 @@ import thunk from 'redux-thunk';
import type { RouterHistory } from 'react-router-dom';
import { createRootReducer } from './modules/reducer';
import { errorHandler } from './errorHandler';
export const history: RouterHistory = createHashHistory();
@ -14,7 +15,8 @@ const shouldEnableDevTools = (process.env.NODE_ENV !== 'production' || process.e
&& window.devToolsExtension;
export const configureStore = (initialState: Object) => {
const middleware = applyMiddleware(thunk, routerMiddleware(history));
// $FlowFixMe
const middleware = applyMiddleware(thunk, routerMiddleware(history), errorHandler);
const enhancer = compose(
middleware,

View File

@ -15,7 +15,7 @@ import { ReceiveContainer } from '../containers/receive';
import { SettingsContainer } from '../containers/settings';
import { NotFoundView } from '../views/not-found';
import { ConsoleView } from '../views/console';
import { LayoutComponent } from '../components/layout';
import { AppContainer as LayoutComponent } from '../containers/app';
import { HeaderComponent } from '../components/header';
import {