Files
astuto/app/javascript/components/Board/NewPostForm.tsx

54 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-09-02 14:32:57 +02:00
import * as React from 'react';
import I18n from 'i18n-js';
2019-09-02 14:32:57 +02:00
import Button from '../shared/Button';
2019-09-02 14:32:57 +02:00
interface Props {
title: string;
description: string;
handleTitleChange(title: string): void;
handleDescriptionChange(description: string): void;
handleSubmit(e: object): void;
}
const NewPostForm = ({
title,
description,
handleTitleChange,
handleDescriptionChange,
handleSubmit,
}: Props) => (
<div className="newPostForm">
<form>
<div className="form-group">
<label htmlFor="postTitle">{I18n.t('board.new_post.title')}</label>
2019-09-02 14:32:57 +02:00
<input
type="text"
value={title}
onChange={e => handleTitleChange(e.target.value)}
id="postTitle"
className="form-control"
autoFocus
/>
</div>
<div className="form-group">
<label htmlFor="postDescription">{I18n.t('board.new_post.description')}</label>
2019-09-02 14:32:57 +02:00
<textarea
value={description}
onChange={e => handleDescriptionChange(e.target.value)}
rows={3}
className="form-control"
id="postDescription"
></textarea>
</div>
<Button onClick={e => handleSubmit(e)} className="submitBtn d-block mx-auto">
{I18n.t('board.new_post.submit_button')}
</Button>
2019-09-02 14:32:57 +02:00
</form>
</div>
);
export default NewPostForm;