Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

137 linhas
5.4 KiB

  1. import React from 'react';
  2. import PageBanner from '@/components/Common/PageBanner';
  3. import * as Icon from 'react-feather';
  4. import Link from 'next/link';
  5. import ReactHtmlParser from "react-html-parser";
  6. const News = function ({ backend, news, othernews, ...props }) {
  7. const NewsList = news.map((data) => {
  8. return (
  9. <>
  10. <div className="blog-details-desc">
  11. <div className="article-image">
  12. <img src={`${backend}${data.img[0]["url"]}`} width="800px" alt="image" />
  13. </div>
  14. <div className="article-content">
  15. <div className="entry-meta">
  16. <ul>
  17. <li>
  18. <Icon.Clock /> September 31, 2021
  19. </li>
  20. <li>
  21. <Icon.User /> <a >Steven Smith</a>
  22. </li>
  23. </ul>
  24. </div>
  25. <h2>{data.title}</h2>
  26. <p>{ReactHtmlParser(data.description)}</p>
  27. {/* <blockquote>
  28. <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.</p>
  29. <cite>Tom Cruise</cite>
  30. </blockquote> */}
  31. <div className="article-footer">
  32. <div className="article-tags">
  33. <a >Motor</a>
  34. <a >Services</a>
  35. <a >Sparepart</a>
  36. <a >Event</a>
  37. <a >Promo</a>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. </>
  43. )
  44. })
  45. const PopularNews = othernews.map((data) => {
  46. return (
  47. <article className="item">
  48. <Link href="/blog-details">
  49. <a className="thumb">
  50. <span className="fullimage cover bg1" role="img"></span>
  51. </a>
  52. </Link>
  53. <div className="info">
  54. <img src={`${backend}${data.img[0]["url"]}`} style={{ width: "100px" }} />
  55. <time>{data.published_at}</time>
  56. <h4 className="title usmall">
  57. <Link href="/blog-details">
  58. <a style={{ fontSize: "15px" }}>{data.title}</a>
  59. </Link>
  60. </h4>
  61. </div>
  62. <div className="clear"></div>
  63. </article>
  64. )
  65. })
  66. return (
  67. <div>
  68. <PageBanner pageTitle="Latest News" />
  69. <div className="blog-details-area ptb-80">
  70. <div className="container">
  71. <div className="row">
  72. <div className="col-lg-8 col-md-12">
  73. {NewsList}
  74. </div>
  75. <div className="col-lg-4 col-md-12">
  76. <div className="widget-area" id="secondary">
  77. <div className="widget widget_search">
  78. <form className="search-form">
  79. <label>
  80. <input type="search" className="search-field" placeholder="Search..." />
  81. </label>
  82. <button type="submit">
  83. <Icon.Search />
  84. </button>
  85. </form>
  86. </div>
  87. {PopularNews}
  88. <div className="widget widget_categories">
  89. <h3 className="widget-title">Categories</h3>
  90. <ul>
  91. <li><a >Business</a></li>
  92. <li><a >Privacy</a></li>
  93. <li><a >Technology</a></li>
  94. <li><a >Tips</a></li>
  95. <li><a >Uncategorized</a></li>
  96. </ul>
  97. </div>
  98. <div className="widget widget_tag_cloud">
  99. <h3 className="widget-title">Tags</h3>
  100. <div className="tagcloud">
  101. <a >Motor <span className="tag-link-count">(3)</span></a>
  102. <a >Services <span className="tag-link-count">(3)</span></a>
  103. <a >Sparepart <span className="tag-link-count">(2)</span></a>
  104. <a >Promo <span className="tag-link-count">(2)</span></a>
  105. <a >Event <span className="tag-link-count">(1)</span></a>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. )
  115. }
  116. export default News;