mirror of
https://github.com/astuto/astuto.git
synced 2025-12-15 19:27:52 +01:00
53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
|
|
import * as React from 'react';
|
||
|
|
|
||
|
|
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">Title</label>
|
||
|
|
<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">Description (optional)</label>
|
||
|
|
<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 btn btn-dark d-block mx-auto">
|
||
|
|
Submit feedback
|
||
|
|
</button>
|
||
|
|
</form>
|
||
|
|
</div>
|
||
|
|
);
|
||
|
|
|
||
|
|
export default NewPostForm;
|