Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

FirstPartCreateOffer.js 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import React from "react";
  2. import PropTypes from "prop-types";
  3. import { useFormik } from "formik";
  4. import {
  5. CreateOfferFormContainer,
  6. DescriptionField,
  7. FieldLabel,
  8. NextButton,
  9. TitleField,
  10. } from "./FirstPartCreateOffer.styled";
  11. import * as Yup from "yup";
  12. import selectedTheme from "../../../../themes";
  13. import { useTranslation } from "react-i18next";
  14. import Option from "../../../Select/Option/Option";
  15. import { SelectField } from "../CreateOffer.styled";
  16. const FirstPartCreateOffer = (props) => {
  17. const { t } = useTranslation();
  18. const handleSubmit = (values) => {
  19. props.handleNext(values);
  20. };
  21. const formik = useFormik({
  22. initialValues: {
  23. nameOfProduct: "",
  24. description: "",
  25. },
  26. validationSchema: Yup.object().shape({
  27. nameOfProduct: Yup.string().required(t("login.nameOfProductRequired")),
  28. description: Yup.string().required(t("login.descriptionRequired")).min(8),
  29. }),
  30. onSubmit: handleSubmit,
  31. validateOnBlur: true,
  32. enableReinitialize: true,
  33. });
  34. return (
  35. <CreateOfferFormContainer component="form" onSubmit={formik.handleSubmit}>
  36. {/* <Backdrop position="absolute" isLoading={isLoading} /> */}
  37. <FieldLabel leftText={"NASLOV"} />
  38. <TitleField
  39. name="nameOfProduct"
  40. placeholder={"Naziv proizvoda..."}
  41. italicPlaceholder
  42. margin="normal"
  43. value={formik.values.nameOfProduct}
  44. onChange={formik.handleChange}
  45. error={formik.touched.nameOfProduct && formik.errors.nameOfProduct}
  46. helperText={formik.touched.nameOfProduct && formik.errors.nameOfProduct}
  47. autoFocus
  48. fullWidth
  49. />
  50. <FieldLabel leftText={"OPIS PROIZVODA"} />
  51. <DescriptionField
  52. name="description"
  53. placeholder={"Opis..."}
  54. margin="normal"
  55. italicPlaceholder
  56. value={formik.values.description}
  57. onChange={formik.handleChange}
  58. error={formik.touched.description && formik.errors.description}
  59. helperText={formik.touched.description && formik.errors.description}
  60. fullWidth
  61. multiline
  62. minRows={4}
  63. height={"100px"}
  64. />
  65. <FieldLabel leftText={"LOKACIJA"} />
  66. <SelectField defaultValue={1}>
  67. <Option value={1}>Opcija 1</Option>
  68. <Option value={2}>Opcija 2</Option>
  69. <Option value={3}>Opcija 3</Option>
  70. <Option value={4}>Opcija 4</Option>
  71. </SelectField>
  72. <FieldLabel leftText={"KATEGORIJA"} />
  73. <SelectField defaultValue={1}>
  74. <Option value={1}>Opcija 1</Option>
  75. <Option value={2}>Opcija 2</Option>
  76. <Option value={3}>Opcija 3</Option>
  77. <Option value={4}>Opcija 4</Option>
  78. </SelectField>
  79. <FieldLabel leftText={"PODKATEGORIJA"} />
  80. <SelectField defaultValue={1}>
  81. <Option value={1}>Opcija 1</Option>
  82. <Option value={2}>Opcija 2</Option>
  83. <Option value={3}>Opcija 3</Option>
  84. <Option value={4}>Opcija 4</Option>
  85. </SelectField>
  86. <NextButton
  87. type="submit"
  88. variant="contained"
  89. height="48px"
  90. fullWidth
  91. buttoncolor={selectedTheme.primaryPurple}
  92. textcolor="white"
  93. // disabled={
  94. // formik.values.username.length === 0 ||
  95. // formik.values.password.length === 0
  96. // }
  97. >
  98. NASTAVI
  99. </NextButton>
  100. </CreateOfferFormContainer>
  101. );
  102. };
  103. FirstPartCreateOffer.propTypes = {
  104. children: PropTypes.any,
  105. handleNext: PropTypes.func,
  106. };
  107. export default FirstPartCreateOffer;