source: frontend/src/Components/Forms/AddRoomForm.js@ ac19a0c

Last change on this file since ac19a0c was ac19a0c, checked in by darsov2 <62809499+darsov2@…>, 10 months ago

authContext impl, admin panel impl, search bar fixes, reservations listings impl

  • Property mode set to 100644
File size: 4.1 KB
RevLine 
[e9b4ba9]1import React from "react";
2import { Form, Button, Container } from "react-bootstrap";
3import { GiConfirmed } from "react-icons/gi"
4import useCreateHotelRoom from "../Hooks/Hotel/useCreateHotelRoom.js";
5import axios from "axios";
6import useFormData from "../Hooks/useFormData";
7
8
9const AddRoomForm = (props) => {
10 const { createHotelRoom } = useCreateHotelRoom(props.hotelId);
11 const edit = props.room
12 const dummy = {
13 hotelRoomDescription: "",
14 hotelRoomName: "",
[ac19a0c]15 numOfBeds: "",
[e9b4ba9]16 price: "",
17 kitchenAvailable: false,
18 airConditioning: false,
19 balcony: false,
20 }
21
22 console.log(edit)
23
24 const { formData, onFormChange, onCheckBoxChange, setFormData } = useFormData(
25// {
26//
27// hotelRoomDescription: "",
28// hotelRoomName: "",
29// numBeds: "",
30// price: "",
31// kitchenAvailable: false,
32// airConditioning: false,
33// balcony: false,
34// }
35 edit ? props.room : dummy
36 );
37
38 return (<>
39 <Container
40 className="rounded-5 m-5 my-auto mx-auto py-2 px-5"
41 style={{ backgroundColor: "#ffffff" }}
42 >
43 <Form>
44 <Form.Group className="mb-3" controlId="roomName">
45 <Form.Label>Име на соба</Form.Label>
46 <Form.Control
47 type="text"
48 placeholder="Внесете го името на собата"
49 value={formData.hotelRoomName}
50 name="hotelRoomName"
51 onChange={onFormChange}
52 />
53 </Form.Group>
54
55 <Form.Group className="mb-3" controlId="numBeds">
56 <Form.Label>Број на кревети</Form.Label>
57 <Form.Control
58 type="number"
59 placeholder="Внесете го бројот на кревети"
[ac19a0c]60 value={formData.numOfBeds}
61 name="numOfBeds"
[e9b4ba9]62 onChange={onFormChange}
63 />
64 </Form.Group>
65
66 <Form.Group className="mb-3" controlId="roomDescription">
67 <Form.Label>Опис</Form.Label>
68 <Form.Control
69 as="textarea"
70 placeholder="Внесете опис на собата"
71 name="hotelRoomDescription"
72 value={formData.hotelRoomDescription}
73 onChange={onFormChange}
74 />
75 </Form.Group>
76
77 <Form.Group className="mb-3" controlId="roomPrice">
78 <Form.Label>Цена од ноќ</Form.Label>
79 <Form.Control
80 type="number"
81 placeholder="Внесете ја цената од ноќ"
82 value={formData.price}
83 name="price"
84 onChange={onFormChange}
85 />
86 </Form.Group>
87
88 <Form.Group className="mb-3" controlId="roomFilters">
89 <Form.Label>Филтри</Form.Label>
90 <Form.Check
91 type="checkbox"
92 label="Кујна"
93 name="kitchenAvailable"
94 checked={formData.kitchenAvailable}
95 onChange={onCheckBoxChange}
96 />
97 <Form.Check
98 type="checkbox"
99 label="Клима"
100 checked={formData.airConditioning}
101 name="airConditioning"
102 onChange={onCheckBoxChange}
103 />
104 <Form.Check
105 type="checkbox"
106 label="Тераса"
107 name="balcony"
108 checked={formData.balcony}
109 onChange={onCheckBoxChange}
110 />
111
112 </Form.Group>
113
114 <Form.Group className="my-1 justify-content-center">
115 <Button
116 type="submit"
117 style={{ backgroundColor: "#159895" }}
118 size="md"
[ac19a0c]119 onClick={(e) => {
120 e.preventDefault();
121 props.refresh((prev) => {
122 return ++prev;
123 })
[e9b4ba9]124 createHotelRoom(formData);
[ac19a0c]125 props.closeModal();
[e9b4ba9]126 }}
127 >
128 <span className="ikona my-1">
129 <GiConfirmed />
130 </span>
131 <span className="ikona mx-3">Поднеси апликација</span>
132 </Button>
133 </Form.Group>
134 </Form>
135 </Container>
136 </>)
137}
138
139export default AddRoomForm;
Note: See TracBrowser for help on using the repository browser.