Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

118 rader
5.1 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. <AddToCartBtn {...product} />
  52. </div>
  53. </div>
  54. </div>
  55. );
  56. })
  57. return (
  58. <div className="shop-area ptb-80">
  59. <div className="container">
  60. <div className="woocommerce-topbar">
  61. <div className="row align-items-center">
  62. <div className="col-lg-9 col-md-7 col-sm-7">
  63. <div className="woocommerce-result-count">
  64. <p>Showing 1-8 of 14 results</p>
  65. </div>
  66. </div>
  67. <div className="col-lg-3 col-md-5 col-sm-5">
  68. <div className="woocommerce-topbar-ordering">
  69. <select className="form-select">
  70. <option value="1">Sort by Popularity</option>
  71. <option value="2">Sort by Average Rating</option>
  72. <option value="3">Sort by Latest</option>
  73. <option value="4">Sort by price: Low to High</option>
  74. <option value="5">Sort by price: High to Low</option>
  75. <option value="6">Sort by New</option>
  76. </select>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. <div className="row justify-content-md-center">
  82. {Product}
  83. {/* Pagination */}
  84. <div className="col-lg-12 col-md-12 col-sm-12">
  85. <div className="pagination-area">
  86. <nav aria-label="Page navigation">
  87. <ul className="pagination justify-content-center">
  88. <li className="page-item"><a className="page-link" href="#">Prev</a></li>
  89. <li className="page-item active"><a className="page-link" href="#">1</a></li>
  90. <li className="page-item"><a className="page-link" href="#">2</a></li>
  91. <li className="page-item"><a className="page-link" href="#">3</a></li>
  92. <li className="page-item"><a className="page-link" href="#">Next</a></li>
  93. </ul>
  94. </nav>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. )
  101. }
  102. export default ProductCard;