import { FC, useEffect, useState } from 'react'; import { Modal } from '../../../../components/modal/Modal'; import { PrimaryButton } from '../../../../components/button/PrimaryButton'; import { SecondaryButton } from '../../../../components/button/SecondaryButton'; import { useAppDispatch, useAppSelector } from '../../../../redux/hooks'; import MarkdownEditor from '../../../articleeditor/Editor'; import { createPost, setGroupFeedStatus, } from '../../../../redux/slices/groupfeed'; interface ModalCreateProps { groupId: number; active: boolean; setActive: (value: boolean) => void; } const ModalCreate: FC = ({ active, setActive, groupId }) => { // const [name, setName] = useState(''); const [content, setContent] = useState(''); const status = useAppSelector((state) => state.groupfeed.createPost.status); const dispatch = useAppDispatch(); useEffect(() => { if (status == 'successful') { setActive(false); dispatch(setGroupFeedStatus({ key: 'createPost', status: 'idle' })); } }, [status]); return (
Создать пост
{ setContent(v); }} />
{ dispatch( createPost({ name: '', content, groupId }), ); }} text={status == 'idle' ? 'Опубликовать' : 'Загрузка...'} disabled={status == 'loading'} /> { setActive(false); }} text="Отмена" />
); }; export default ModalCreate;