Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | 23x 23x 23x 8x 23x 5x 5x 23x 5x 5x 115x 5x | import React from "react"; import { Form, Button } from "react-bootstrap"; export default function ReviewForm({ initialItemName, submitAction }) { const [comments, setComments] = React.useState(""); const [stars, setStars] = React.useState(5); const [dateServed, setDateServed] = React.useState(() => { return new Date().toISOString().slice(0, 16); // Default to now, in YYYY-MM-DDTHH:mm format }); const handleSubmit = (e) => { e.preventDefault(); submitAction({ reviewerComments: comments, itemsStars: stars, dateItemServed: dateServed, }); }; return ( <Form onSubmit={handleSubmit}> <Form.Group className="mb-3"> <Form.Label htmlFor="review-item-name">Item Name</Form.Label> <Form.Control id="review-item-name" type="text" value={initialItemName} disabled /> </Form.Group> <Form.Group className="mb-3"> <Form.Label htmlFor="review-comments">Comments</Form.Label> <Form.Control id="review-comments" as="textarea" rows={3} value={comments} onChange={(e) => setComments(e.target.value)} /> </Form.Group> <Form.Group className="mb-3"> <Form.Label htmlFor="review-stars">Stars (1 to 5)</Form.Label> <Form.Select id="review-stars" value={stars} onChange={(e) => setStars(Number(e.target.value))} > {[1, 2, 3, 4, 5].map((num) => ( <option key={num} value={num}> {num} </option> ))} </Form.Select> </Form.Group> <Form.Group className="mb-3"> <Form.Label htmlFor="review-date"> Date and Time Item was Served </Form.Label> <Form.Control id="review-date" type="datetime-local" value={dateServed} onChange={(e) => setDateServed(e.target.value)} /> </Form.Group> <Button type="submit">Submit Review</Button> </Form> ); } |