// @flow import { CHANNEL_NEW } from 'constants/claim'; import React, { useEffect, useState } from 'react'; import { FormField, Form } from 'component/common/form'; import Button from 'component/button'; import ChannelSection from 'component/selectChannel'; import usePersistedState from 'effects/use-persisted-state'; type Props = { uri: string, claim: StreamClaim, createComment: (string, string, string) => void, }; export function CommentCreate(props: Props) { const { createComment, claim } = props; const { claim_id: claimId } = claim; const [commentValue, setCommentValue] = usePersistedState(`comment-${claimId}`, ''); const [commentAck, setCommentAck] = usePersistedState('comment-acknowledge', false); const [channel, setChannel] = usePersistedState('comment-channel', 'anonymous'); const [charCount, setCharCount] = useState(commentValue.length); function handleCommentChange(event) { setCommentValue(event.target.value); } function handleChannelChange(channel) { setChannel(channel); } function handleCommentAck(event) { setCommentAck(true); } function handleSubmit() { if (channel !== CHANNEL_NEW && commentValue.length) createComment(commentValue, claimId, channel); setCommentValue(''); } useEffect(() => setCharCount(commentValue.length), [commentValue]); return (
{commentAck !== true && (

{__('A few things to know before participating in the comment alpha:')}

)} {commentAck === true && (
)}
); }