You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

138 line
5.6 KiB

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