選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

CardTownHouses.js 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. const CardTownHouses = ({result, index}) => {
  4. const carouselId = "carouselExampleIndicators".concat(index);
  5. const carouselIndicator = "#".concat(carouselId);
  6. return(
  7. <>
  8. {
  9. console.log("town houses")
  10. }
  11. <div className="card">
  12. <div className="card-body">
  13. {result.lastUpdate !=undefined ?
  14. <div className="ribbon-wrapper ribbon-lg">
  15. <div className="ribbon bg-primary">
  16. {result.lastUpdate}
  17. </div>
  18. </div> :''
  19. }
  20. <div className="row">
  21. <div className="col-md-4">
  22. <div id={carouselId} className="carousel slide" data-ride="carousel">
  23. <ol className="carousel-indicators">
  24. {result.images.map((image, i) =>
  25. (image !== undefined && image.src !==undefined ?
  26. i === 1 ?
  27. <li data-target={carouselIndicator} data-slide-to={i} className="active"></li>
  28. :
  29. <li data-target={carouselIndicator} data-slide-to={i} className=""></li>
  30. :""
  31. ))}
  32. </ol>
  33. <div className="carousel-inner">
  34. {
  35. result.images.map((image, i) =>
  36. (image !== undefined && image.src !== undefined ?
  37. i === 0 ?
  38. <div className="carousel-item active" key={i} >
  39. <img height="269px" className="d-block w-100"
  40. src={image.src}
  41. alt= {i} />
  42. </div>
  43. :
  44. <div className="carousel-item" key={i} >
  45. <img height="269px" className="d-block w-100"
  46. src={image.src}
  47. alt= {i} />
  48. </div>
  49. :'')
  50. )
  51. }
  52. </div>
  53. <a className="carousel-control-prev" href={carouselIndicator} role="button"
  54. data-slide="prev">
  55. <span className="carousel-control-custom-icon" aria-hidden="true">
  56. <i className="fas fa-chevron-left"></i>
  57. </span>
  58. <span className="sr-only">Previous</span>
  59. </a>
  60. <a className="carousel-control-next" href={carouselIndicator} role="button"
  61. data-slide="next">
  62. <span className="carousel-control-custom-icon" aria-hidden="true">
  63. <i className="fas fa-chevron-right"></i>
  64. </span>
  65. <span className="sr-only">Next</span>
  66. </a>
  67. </div>
  68. </div>
  69. <div className="col-md-8">
  70. {result.name !== undefined ? <h2><a href={result.url}> {result.name}
  71. </a>
  72. </h2>: ''}
  73. {result.address != undefined ?
  74. <p className="lead">
  75. {result.address.street !== undefined ? <span> {result.address.street}, </span>:''}
  76. {result.address.city !== undefined ? <span> {result.address.city}, </span>:''}
  77. {result.address.zip !== undefined ? <span> {result.address.zip.code} {result.address.zip.state}</span>:''}
  78. </p>
  79. : ''}
  80. {result.rentInfo !=undefined ? <h3 className="strong">{result.rentInfo}</h3>:'' }
  81. <p className="card-text mb-1">
  82. {result.description !== undefined ? result.description.substr(0,100) + "..." : ''}
  83. </p>
  84. <div className="row">
  85. <div className="col-md-8">
  86. <div className="row">
  87. <div className="col">
  88. {
  89. result.features.slice(0, 8).map((feature, i) => <p key={i} className="badge badge-primary ml-1">{feature}</p>)
  90. }
  91. </div>
  92. </div>
  93. <div className="row">
  94. { result.contact !== undefined && result.contact.phone != undefined ? <span className="mr-3 lead"><i className="fas fa-phone">{result.contact.phone}</i></span> : ''}
  95. { result.contact !== undefined && result.contact.url ? <span className="mr-3 lead"><i className="fas fa-user"></i>{result.contact.agentFullName}</span>: '' }
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </>
  104. );
  105. }
  106. CardTownHouses.propTypes = {
  107. result: PropTypes.object,
  108. index : PropTypes.number
  109. }
  110. export default CardTownHouses;