From eaa3594bf9ca257427511c8feb8f52531e529e80 Mon Sep 17 00:00:00 2001 From: muerwre Date: Mon, 27 Aug 2018 10:41:19 +0700 Subject: [PATCH] Logo selecting dialog --- src/components/logo/LogoDialog.jsx | 22 + src/components/panels/EditorDialog.jsx | 15 +- src/components/panels/EditorPanel.jsx | 9 + .../{RouterHelper.jsx => RouterDialog.jsx} | 2 +- ...{StickersHelper.jsx => StickersDialog.jsx} | 2 +- .../{TrashHelper.jsx => TrashDialog.jsx} | 2 +- src/constants/logos.js | 10 + src/constants/modes.js | 1 + src/modules/Editor.js | 3 +- src/sprites/icon.svg | 15 +- src/sprites/icons.svg | 3904 +---------------- src/sprites/icons_draft.svg | 56 +- src/styles/panel.less | 31 + 13 files changed, 210 insertions(+), 3862 deletions(-) create mode 100644 src/components/logo/LogoDialog.jsx rename src/components/router/{RouterHelper.jsx => RouterDialog.jsx} (97%) rename src/components/stickers/{StickersHelper.jsx => StickersDialog.jsx} (91%) rename src/components/trash/{TrashHelper.jsx => TrashDialog.jsx} (96%) create mode 100644 src/constants/logos.js diff --git a/src/components/logo/LogoDialog.jsx b/src/components/logo/LogoDialog.jsx new file mode 100644 index 0000000..a9ce296 --- /dev/null +++ b/src/components/logo/LogoDialog.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { LOGOS } from '$constants/logos'; +import { Icon } from '$components/panels/Icon'; + +export class LogoDialog extends React.Component { + render() { + return ( +
+
+ +
+ { + Object.keys(LOGOS).map(logo => ( +
+ {LOGOS[logo][0]} +
+ )) + } +
+ ); + } +} diff --git a/src/components/panels/EditorDialog.jsx b/src/components/panels/EditorDialog.jsx index d9a1aeb..72db22e 100644 --- a/src/components/panels/EditorDialog.jsx +++ b/src/components/panels/EditorDialog.jsx @@ -1,9 +1,10 @@ import React from 'react'; import { MODES } from '$constants/modes'; -import { RouterHelper } from '$components/router/RouterHelper'; -import { StickersHelper } from '$components/stickers/StickersHelper'; -import { TrashHelper } from '$components/trash/TrashHelper'; +import { RouterDialog } from '$components/router/RouterDialog'; +import { StickersDialog } from '$components/stickers/StickersDialog'; +import { TrashDialog } from '$components/trash/TrashDialog'; +import { LogoDialog } from '$components/logo/LogoDialog'; export const EditorDialog = ({ mode, routerPoints, editor, activeSticker @@ -12,14 +13,16 @@ export const EditorDialog = ({ mode === MODES.ROUTER || (mode === MODES.STICKERS && !activeSticker) || mode === MODES.TRASH + || mode === MODES.LOGO ); return ( showDialog &&
- { mode === MODES.ROUTER && } - { mode === MODES.STICKERS && } - { mode === MODES.TRASH && } + { mode === MODES.ROUTER && } + { mode === MODES.STICKERS && } + { mode === MODES.TRASH && } + { mode === MODES.LOGO && }
); }; diff --git a/src/components/panels/EditorPanel.jsx b/src/components/panels/EditorPanel.jsx index b0f2d45..94c1e28 100644 --- a/src/components/panels/EditorPanel.jsx +++ b/src/components/panels/EditorPanel.jsx @@ -18,6 +18,8 @@ export class EditorPanel extends React.PureComponent { startTrashMode = () => this.props.editor.changeMode(MODES.TRASH); + startLogoMode = () => this.props.editor.changeMode(MODES.LOGO); + render() { const { mode, routerPoints, editor, totalDistance, estimateTime, activeSticker @@ -97,6 +99,13 @@ export class EditorPanel extends React.PureComponent { + +