diff --git a/src/components/bars/SubmitBar/index.tsx b/src/components/bars/SubmitBar/index.tsx index 0450787f..da44ab82 100644 --- a/src/components/bars/SubmitBar/index.tsx +++ b/src/components/bars/SubmitBar/index.tsx @@ -1,20 +1,22 @@ import React, { FC, useCallback } from 'react'; import { connect } from 'react-redux'; import { Icon } from '~/components/input/Icon'; -import * as MODAL_ACTIONS from '~/redux/modal/actions'; +import * as NODE_ACTIONS from '~/redux/node/actions'; import { DIALOGS } from '~/redux/modal/constants'; import * as styles from './styles.scss'; +import { NODE_TYPES } from '~/redux/node/constants'; const mapStateToProps = null; const mapDispatchToProps = { - showDialog: MODAL_ACTIONS.modalShowDialog, + nodeCreate: NODE_ACTIONS.nodeCreate, + // showDialog: MODAL_ACTIONS.modalShowDialog, }; type IProps = typeof mapDispatchToProps & {}; -const SubmitBarUnconnected: FC = ({ showDialog }) => { - const onOpenImageEditor = useCallback(() => showDialog(DIALOGS.EDITOR_IMAGE), [showDialog]); +const SubmitBarUnconnected: FC = ({ nodeCreate }) => { + const onOpenImageEditor = useCallback(() => nodeCreate(NODE_TYPES.IMAGE), [nodeCreate]); return (
diff --git a/src/components/editors/TextEditor/index.tsx b/src/components/editors/TextEditor/index.tsx new file mode 100644 index 00000000..539045f1 --- /dev/null +++ b/src/components/editors/TextEditor/index.tsx @@ -0,0 +1,27 @@ +import React, { FC, useCallback } from 'react'; +import { INode } from '~/redux/types'; +import * as styles from './styles.scss'; +import { Textarea } from '~/components/input/Textarea'; +import path from 'ramda/es/path'; + +interface IProps { + data: INode; + setData: (val: INode) => void; +} + +const TextEditor: FC = ({ data, setData }) => { + const setText = useCallback( + (text: string) => setData({ ...data, blocks: [{ type: 'text', text }] }), + [data, setData] + ); + + const text = (path(['blocks', 0, 'text'], data) as string) || ''; + + return ( +
+