[e6c2521] | 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: "",
|
---|
[07f4e8b] | 13 | carType: "",
|
---|
[e6c2521] | 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) => {
|
---|
[07f4e8b] | 109 | return ++prev;
|
---|
[e6c2521] | 110 | })
|
---|
[07f4e8b] | 111 | if(!edit)
|
---|
| 112 | props.closeModal()
|
---|
[e6c2521] | 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;
|
---|