moved editor to separate reducer

This commit is contained in:
Fedor Katurov 2020-01-09 10:59:26 +07:00
parent e950d98b73
commit 87670770b0
38 changed files with 1425 additions and 1069 deletions

View file

@ -1,4 +1,3 @@
// @flow
import React from 'react';
import { EditorPanel } from '~/components/panels/EditorPanel';
@ -9,8 +8,7 @@ import { bindActionCreators } from 'redux';
import { hot } from 'react-hot-loader';
import { Renderer } from '~/components/renderer/Renderer';
import { hideRenderer, setDialogActive } from '~/redux/user/actions';
import { Cursor } from '~/components/Cursor';
import { editorHideRenderer, editorSetDialogActive } from '~/redux/editor/actions';
import { LeftDialog } from '~/containers/LeftDialog';
import { TopLeftPanel } from '~/components/panels/TopLeftPanel';
import { TopRightPanel } from '~/components/panels/TopRightPanel';
@ -19,18 +17,19 @@ import { IStickerPack } from '~/constants/stickers';
import { IDialogs } from '~/constants/dialogs';
import { Map } from '~/containers/map/Map';
import { IRootReducer } from '~/redux/user';
import { IEditorState } from '~/redux/editor';
import { IState } from '~/redux/store';
type Props = {
sticker: string;
renderer_active: boolean;
mode: IRootReducer['mode'];
mode: IEditorState['mode'];
dialog: keyof IDialogs;
dialog_active: boolean;
set: keyof IStickerPack;
hideRenderer: typeof hideRenderer;
setDialogActive: typeof setDialogActive;
editorHideRenderer: typeof editorHideRenderer;
editorSetDialogActive: typeof editorSetDialogActive;
};
const Component = (props: Props) => (
@ -45,26 +44,26 @@ const Component = (props: Props) => (
<LeftDialog
dialog={props.dialog}
dialog_active={props.dialog_active}
setDialogActive={props.setDialogActive}
editorSetDialogActive={props.editorSetDialogActive}
/>
<LogoPreview />
<Map />
{props.renderer_active && <Renderer onClick={props.hideRenderer} />}
{props.renderer_active && <Renderer onClick={props.editorHideRenderer} />}
</div>
);
const mapStateToProps = ({
user: {
editor: {
mode,
dialog,
dialog_active,
renderer,
activeSticker: { sticker = null, set = null },
},
}) => ({
}: IState) => ({
renderer_active: renderer.renderer_active,
mode,
dialog,
@ -74,5 +73,5 @@ const mapStateToProps = ({
});
const mapDispatchToProps = dispatch =>
bindActionCreators({ hideRenderer, setDialogActive }, dispatch);
bindActionCreators({ editorHideRenderer, editorSetDialogActive }, dispatch);
export const App = connect(mapStateToProps, mapDispatchToProps)(hot(module)(Component));