summaryrefslogtreecommitdiff
path: root/src/lib/review/components/CustomerReviews.jsx
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-05-11 16:52:33 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-05-11 16:52:33 +0700
commitc520c39918694e793da661c30975d6c4b60eb63c (patch)
tree50256725bb6e13d2b7d497ad259387f0519d5a5d /src/lib/review/components/CustomerReviews.jsx
parentb027c12d678698a9b8adcf4508a6160321c8172a (diff)
fix rfq title and customer review
Diffstat (limited to 'src/lib/review/components/CustomerReviews.jsx')
-rw-r--r--src/lib/review/components/CustomerReviews.jsx62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/lib/review/components/CustomerReviews.jsx b/src/lib/review/components/CustomerReviews.jsx
new file mode 100644
index 00000000..935d4a3d
--- /dev/null
+++ b/src/lib/review/components/CustomerReviews.jsx
@@ -0,0 +1,62 @@
+import DesktopView from '@/core/components/views/DesktopView'
+import MobileView from '@/core/components/views/MobileView'
+import Image from 'next/image'
+import { Swiper, SwiperSlide } from 'swiper/react'
+
+const { useQuery } = require('react-query')
+const { getCustomerReviews } = require('../api/customerReviewsApi')
+
+const CustomerReviews = () => {
+ const { data: customerReviews } = useQuery('customerReviews', getCustomerReviews)
+
+ return (
+ <div className='px-4 sm:px-0'>
+ <div className='font-medium sm:text-h-lg mb-4'>Ulasan Konsumen Kami</div>
+
+ <DesktopView>
+ <Swiper slidesPerView={3.2} spaceBetween={16}>
+ {customerReviews &&
+ customerReviews?.map((customerReview) => (
+ <SwiperSlide className='pb-4' key={customerReview.id}>
+ <Card customerReview={customerReview} />
+ </SwiperSlide>
+ ))}
+ </Swiper>
+ </DesktopView>
+
+ <MobileView>
+ <Swiper slidesPerView={1.1} spaceBetween={8}>
+ {customerReviews &&
+ customerReviews?.map((customerReview) => (
+ <SwiperSlide className='pb-4' key={customerReview.id}>
+ <Card customerReview={customerReview} />
+ </SwiperSlide>
+ ))}
+ </Swiper>
+ </MobileView>
+ </div>
+ )
+}
+
+const Card = ({ customerReview }) => (
+ <div className='bg-gray-200 rounded-md px-5 py-6 shadow-md shadow-gray-500/20 h-full'>
+ <div className='flex items-center space-x-3 mb-4'>
+ <Image
+ src={customerReview.image}
+ alt={customerReview.customerName}
+ width={48}
+ height={48}
+ className='rounded-full border border-yellow-400'
+ />
+ <div className='text-body-2 sm:text-body-1 font-semibold leading-6 text-gray-900'>
+ {customerReview.customerName}
+ </div>
+ </div>
+ <div
+ className='leading-7 text-gray-800'
+ dangerouslySetInnerHTML={{ __html: customerReview.ulasan }}
+ />
+ </div>
+)
+
+export default CustomerReviews