import { configure, addDecorator } from '@storybook/react' import React from 'react' import { createStore } from 'redux' import { Provider } from 'react-redux' import { Router } from 'react-router-dom' import { createBrowserHistory } from 'history' import intl from 'react-intl-universal' import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles' import deepPurple from '@material-ui/core/colors/deepPurple' import localeEN from '../src/client/translations/sampo/localeEN' import localeFI from '../src/client/translations/sampo/localeFI' import localeSV from '../src/client/translations/sampo/localeSV' import reducer from '../src/client/reducers' import '../src/client/index.css' const loaderFn = () => { const allExports = [require('./welcome.stories.js')]; const req = require.context('../src/client/components', true, /\.stories\.js$/); req.keys().forEach(fname => allExports.push(req(fname))); return allExports; }; configure(loaderFn, module); const store = createStore(reducer) intl.init({ currentLocale: 'en', locales: { en: localeEN, fi: localeFI, sv: localeSV } }) const theme = createMuiTheme({ palette: { primary: deepPurple }, overrides: { MuiTooltip: { tooltip: { fontSize: '1 rem' } }, MuiExpansionPanel: { root: { '&$expanded': { marginTop: 8, marginBottom: 8 } } }, MuiButton: { endIcon: { marginLeft: 0 } } } }) addDecorator(Story => ( <Provider store={store}> <Router history={createBrowserHistory()}> <MuiThemeProvider theme={theme}> <Story /> </MuiThemeProvider> </Router> </Provider> ))