Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ScrappeDetails.js 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import { useTranslation } from 'react-i18next';
  4. import ScrappeStatus from '../../components/ScrapeRequest/ScrappeStatus'
  5. const ScrappeDetails = ({ details }) => {
  6. const { t } = useTranslation();
  7. return (
  8. (details) ?
  9. <div className='container'>
  10. <div className="row mb-2">
  11. <div className="col-sm-10">
  12. <h2 className="m-0"> Scrappe <a href={details.sourceUrl} className='text-sm'> {details.sourceUrl} </a></h2>
  13. <br />
  14. <div className="row m-0">
  15. <div className="com-md-4">
  16. {
  17. (details.location) ?
  18. <h3>{details.location}</h3>
  19. : ''}
  20. {
  21. (details.estimate) ?
  22. <span className="text-muted">{t('scrapeRequest.EstimatedTime')} {(new Date(details.estimate)).toLocaleString()}</span>
  23. : ''}
  24. </div>
  25. <div className="col-md-4">
  26. {
  27. (details.filters && details.filters.length > 0) ?
  28. <div className="filters-cont">
  29. <h3>Filters</h3>
  30. {details.filters.filter((i) => i.value != null).map((filter, i) => <span className="badge bg-primary m-1" key={i}>{filter.name}: {filter.value}</span>)}
  31. </div>
  32. : ''}
  33. </div>
  34. <div className="col-md-1">
  35. {details.status ? <ScrappeStatus status={details.status} /> : ''}
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. : ''
  42. );
  43. }
  44. ScrappeDetails.propTypes = {
  45. details: PropTypes.object
  46. };
  47. export default ScrappeDetails;