FullInfoAboutStaff.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import React, { Component } from 'react';
  2. import Loader from 'react-loader-spinner';
  3. import { Carousel } from 'antd';
  4. class FullInfoAboutStaff extends Component {
  5. constructor(props) {
  6. super(props)
  7. this.state = {
  8. count: 0,
  9. }
  10. }
  11. render() {
  12. const { InfoStaff, isFetching } = this.props
  13. let arr = [];
  14. InfoStaff.map(el => {
  15. if (el.state) {
  16. let str1 = el.img.substr(29)
  17. for (var i = 0, b = 24; i < str1.length; i = i + 25) {
  18. arr.push({ newStr: str1.substr(i, b), state: el.state, defaultStr: el.img })
  19. }
  20. } else {
  21. arr.push({ state: el.state, defaultStr: el.img })
  22. }
  23. })
  24. let data1
  25. let data;
  26. if (isFetching === true) {
  27. data = <div className="loader">
  28. <Loader type="Triangle"
  29. color="#FD7F71"
  30. height="100"
  31. width="100"
  32. />
  33. </div>
  34. } else {
  35. data = InfoStaff.map((el, key) => <div className="divCenter">
  36. <div className="flex-around">
  37. <p><b>Название: </b>{el.title} </p>
  38. <p><b>Цена: </b>{el.price}</p>
  39. <p><b>Описание: </b>{el.description}</p>
  40. <p><b>Контактное лицо: </b>{el.user.name}</p>
  41. <p><b>Номер телефона: </b>{el.user.phone}</p>
  42. </div>
  43. </div>
  44. )
  45. data1 = <div className="carusel">
  46. <Carousel effect="fade">
  47. {arr.map(el => <div>
  48. {el.state ? <img src={`http://127.0.0.1:2000/static/${el.newStr}`} className="fullImgStaff" alt="lorem" /> :
  49. <img src={`${el.defaultStr}`} width="325" height="190" className="imgStaff" alt="lorem" />}
  50. </div>)}
  51. </Carousel>
  52. </div>
  53. }
  54. return (
  55. <div className="staffinfo" >
  56. {data1}
  57. {data}
  58. </div>
  59. );
  60. }
  61. }
  62. export default FullInfoAboutStaff;