1 | import React from "react";
|
---|
2 | import { Form, Button, Container } from "react-bootstrap";
|
---|
3 | import { GiConfirmed } from "react-icons/gi";
|
---|
4 | import useCreateTransport from "../Hooks/Transport/useCreateTransport";
|
---|
5 | import useFormData from "../Hooks/useFormData";
|
---|
6 |
|
---|
7 | const AddTransportForm = (props) => {
|
---|
8 | const { createTransport } = useCreateTransport();
|
---|
9 |
|
---|
10 | const dummy = {
|
---|
11 | transportName: "",
|
---|
12 | carBrand: "",
|
---|
13 | carType: "",
|
---|
14 | carManufacturedYear: 1900,
|
---|
15 | noPassengers: 0,
|
---|
16 | noBags: 0,
|
---|
17 | EMBG: "111",
|
---|
18 | carPlate: "",
|
---|
19 | }
|
---|
20 |
|
---|
21 | const edit = props.transport != null
|
---|
22 |
|
---|
23 | console.log(edit)
|
---|
24 |
|
---|
25 | const { formData, onFormChange, onCheckBoxChange, setFormData } = useFormData(edit ? props.transport : dummy);
|
---|
26 |
|
---|
27 | return (
|
---|
28 | <>
|
---|
29 | <Container
|
---|
30 | className="rounded-5 m-5 my-auto mx-auto py-2 px-5"
|
---|
31 | style={{ backgroundColor: "#ffffff" }}
|
---|
32 | >
|
---|
33 | <Form>
|
---|
34 | <Form.Group className="mb-3" controlId="transportName">
|
---|
35 | <Form.Label>Име на транспорт</Form.Label>
|
---|
36 | <Form.Control
|
---|
37 | type="text"
|
---|
38 | placeholder="Внесете го името на транспортот"
|
---|
39 | name="transportName"
|
---|
40 | value={formData.transportName}
|
---|
41 | onChange={onFormChange}
|
---|
42 | />
|
---|
43 | </Form.Group>
|
---|
44 |
|
---|
45 | <Form.Group className="mb-3" controlId="transportYear">
|
---|
46 | <Form.Label>Година на возило</Form.Label>
|
---|
47 | <Form.Control
|
---|
48 | type="number"
|
---|
49 | placeholder="Внесете ја годината на возилото"
|
---|
50 | name="carManufacturedYear"
|
---|
51 | value={formData.carManufacturedYear}
|
---|
52 | onChange={onFormChange}
|
---|
53 | />
|
---|
54 | </Form.Group>
|
---|
55 |
|
---|
56 | <Form.Group className="mb-3" controlId="transportType">
|
---|
57 | <Form.Label>Тип на возило</Form.Label>
|
---|
58 | <Form.Control
|
---|
59 | type="text"
|
---|
60 | placeholder="Внесете го типот на возило"
|
---|
61 | name="carType"
|
---|
62 | value={formData.carType}
|
---|
63 | onChange={onFormChange}
|
---|
64 | />
|
---|
65 | </Form.Group>
|
---|
66 |
|
---|
67 | <Form.Group className="mb-3" controlId="transportRegistration">
|
---|
68 | <Form.Label>Регистрација</Form.Label>
|
---|
69 | <Form.Control
|
---|
70 | type="text"
|
---|
71 | placeholder="Внесете ја регистрацијата"
|
---|
72 | name="carPlate"
|
---|
73 | value={formData.carPlate}
|
---|
74 | onChange={onFormChange}
|
---|
75 | />
|
---|
76 | </Form.Group>
|
---|
77 |
|
---|
78 | <Form.Group className="mb-3" controlId="numPassengers">
|
---|
79 | <Form.Label>Број на патници</Form.Label>
|
---|
80 | <Form.Control
|
---|
81 | type="number"
|
---|
82 | placeholder="Внесете го бројот на патници"
|
---|
83 | name="noPassengers"
|
---|
84 | value={formData.noPassengers}
|
---|
85 | onChange={onFormChange}
|
---|
86 | />
|
---|
87 | </Form.Group>
|
---|
88 |
|
---|
89 | <Form.Group className="mb-3" controlId="numLuggage">
|
---|
90 | <Form.Label>Број на торби</Form.Label>
|
---|
91 | <Form.Control
|
---|
92 | type="number"
|
---|
93 | placeholder="Внесете го бројот на торби"
|
---|
94 | name="noBags"
|
---|
95 | value={formData.noBags}
|
---|
96 | onChange={onFormChange}
|
---|
97 | />
|
---|
98 | </Form.Group>
|
---|
99 |
|
---|
100 | <Form.Group className="my-1 justify-content-center">
|
---|
101 | <Button
|
---|
102 | type="button"
|
---|
103 | style={{ backgroundColor: "#159895" }}
|
---|
104 | size="md"
|
---|
105 | onClick={() => {
|
---|
106 | console.log(formData);
|
---|
107 | createTransport(formData, edit);
|
---|
108 | props.refresh((prev) => {
|
---|
109 | return ++prev;
|
---|
110 | })
|
---|
111 | if(!edit)
|
---|
112 | props.closeModal()
|
---|
113 | }}
|
---|
114 | >
|
---|
115 | <span className="ikona my-1">
|
---|
116 | <GiConfirmed />
|
---|
117 | </span>
|
---|
118 | <span className="ikona mx-3">Поднеси апликација</span>
|
---|
119 | </Button>
|
---|
120 | </Form.Group>
|
---|
121 | </Form>
|
---|
122 | </Container>
|
---|
123 | </>
|
---|
124 | );
|
---|
125 | };
|
---|
126 |
|
---|
127 | export default AddTransportForm;
|
---|