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.

120 linhas
5.2 KiB

  1. import React from 'react'
  2. import Link from 'next/link'
  3. import * as Icon from 'react-feather'
  4. import { useSelector } from 'react-redux'
  5. import AddToCartBtn from '@/components/Shop/AddToCartBtn'
  6. import NumberFormat from 'react-number-format';
  7. const ProductCard = function ({ product, backend, user, ...props }) {
  8. const products = useSelector((state) => state.products)
  9. console.log(product)
  10. const Product = product.map((data) => {
  11. return (
  12. <div className="col-lg-3 col-md-6 col-sm-6" key={product.id}>
  13. <div className="single-products">
  14. <div className="products-image">
  15. <img src={`${backend}${data.img[0]["url"]}`}
  16. />
  17. <ul>
  18. <li>
  19. <a href="#">
  20. <Icon.Search />
  21. </a>
  22. </li>
  23. <li>
  24. <a href="#">
  25. <Icon.Heart />
  26. </a>
  27. </li>
  28. <li>
  29. <Link href="/products/[id]" as={`/products/${product.id}`}>
  30. <a>
  31. <Icon.Link />
  32. </a>
  33. </Link>
  34. </li>
  35. </ul>
  36. </div>
  37. <div className="products-content">
  38. <h3>
  39. <Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
  40. <a>{data.name}</a>
  41. </Link>
  42. </h3>
  43. <span><NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} /> s/d <NumberFormat value={data.price2} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} /></span>
  44. <ul>
  45. <li><i className="flaticon-star-1"></i></li>
  46. <li><i className="flaticon-star-1"></i></li>
  47. <li><i className="flaticon-star-1"></i></li>
  48. <li><i className="flaticon-star-1"></i></li>
  49. <li><i className="flaticon-star-1"></i></li>
  50. </ul>
  51. <Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
  52. <a className="add-to-cart-btn">Detail Product</a>
  53. </Link>
  54. </div>
  55. </div>
  56. </div>
  57. );
  58. })
  59. return (
  60. <div className="shop-area ptb-80">
  61. <div className="container">
  62. <div className="woocommerce-topbar">
  63. <div className="row align-items-center">
  64. <div className="col-lg-9 col-md-7 col-sm-7">
  65. <div className="woocommerce-result-count">
  66. <p>Showing 1-8 of 14 results</p>
  67. </div>
  68. </div>
  69. <div className="col-lg-3 col-md-5 col-sm-5">
  70. <div className="woocommerce-topbar-ordering">
  71. <select className="form-select">
  72. <option value="1">Sort by Popularity</option>
  73. <option value="2">Sort by Average Rating</option>
  74. <option value="3">Sort by Latest</option>
  75. <option value="4">Sort by price: Low to High</option>
  76. <option value="5">Sort by price: High to Low</option>
  77. <option value="6">Sort by New</option>
  78. </select>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. <div className="row justify-content-md-center">
  84. {Product}
  85. {/* Pagination */}
  86. <div className="col-lg-12 col-md-12 col-sm-12">
  87. <div className="pagination-area">
  88. <nav aria-label="Page navigation">
  89. <ul className="pagination justify-content-center">
  90. <li className="page-item"><a className="page-link" href="#">Prev</a></li>
  91. <li className="page-item active"><a className="page-link" href="#">1</a></li>
  92. <li className="page-item"><a className="page-link" href="#">2</a></li>
  93. <li className="page-item"><a className="page-link" href="#">3</a></li>
  94. <li className="page-item"><a className="page-link" href="#">Next</a></li>
  95. </ul>
  96. </nav>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. )
  103. }
  104. export default ProductCard;