From e561175d7167da3f6ac25200ad3cce63ea38e20b Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Mon, 6 Feb 2023 16:15:14 +0700 Subject: no message --- src/pages/shop/brands/[slug].js | 39 +++++++++++++++++++++++++++++++++++---- src/pages/shop/brands/index.js | 10 +++++----- src/pages/shop/cart.js | 2 +- 3 files changed, 41 insertions(+), 10 deletions(-) (limited to 'src/pages/shop') diff --git a/src/pages/shop/brands/[slug].js b/src/pages/shop/brands/[slug].js index 928da0d0..64ff7706 100644 --- a/src/pages/shop/brands/[slug].js +++ b/src/pages/shop/brands/[slug].js @@ -6,8 +6,15 @@ import Header from "@/components/layouts/Header"; import Layout from "@/components/layouts/Layout"; import Pagination from "@/components/elements/Pagination"; import ProductCard from "@/components/products/ProductCard"; -import { getNameFromSlug } from "@/core/utils/slug"; +import { getIdFromSlug, getNameFromSlug } from "@/core/utils/slug"; import FilterIcon from "@/icons/filter.svg"; +import apiOdoo from "@/core/utils/apiOdoo"; +import { Swiper, SwiperSlide } from "swiper/react"; +import "swiper/css"; +import "swiper/css/pagination"; +import "swiper/css/autoplay"; +import { Pagination as SwiperPagination } from "swiper"; +import Image from "@/components/elements/Image"; export async function getServerSideProps(context) { const { @@ -30,6 +37,8 @@ export async function getServerSideProps(context) { ].join('&'); let searchResults = await axios(`${process.env.SELF_HOST}/api/shop/search?${urlParameter}`); searchResults = searchResults.data; + + const manufacture = await apiOdoo('GET', `/api/v1/manufacture/${getIdFromSlug(slug)}`); return { props: { @@ -39,7 +48,8 @@ export async function getServerSideProps(context) { category, price_from, price_to, - order_by + order_by, + manufacture } }; } @@ -51,7 +61,8 @@ export default function BrandDetail({ category, price_from, price_to, - order_by + order_by, + manufacture }) { const pageCount = Math.ceil(searchResults.response.numFound / searchResults.responseHeader.params.rows); const productStart = searchResults.responseHeader.params.start; @@ -94,8 +105,28 @@ export default function BrandDetail({ disableFilter={['brand']} /> + + { + manufacture.banners?.map((banner, index) => ( + + {`Banner + + )) + } +
-

Produk

+
+ { manufacture.logo ? ( + {manufacture.name} + ) : ( +

Brand { manufacture.name }

+ ) } +
+

Produk

{productFound > 0 ? ( <> diff --git a/src/pages/shop/brands/index.js b/src/pages/shop/brands/index.js index fec2405a..bfdcd403 100644 --- a/src/pages/shop/brands/index.js +++ b/src/pages/shop/brands/index.js @@ -1,7 +1,7 @@ import Header from "@/components/layouts/Header"; import apiOdoo from "@/core/utils/apiOdoo"; import InfiniteScroll from "react-infinite-scroll-component"; -import { useEffect, useState } from "react"; +import { useCallback, useEffect, useState } from "react"; import Spinner from "@/components/elements/Spinner"; import Layout from "@/components/layouts/Layout"; import ManufactureCard from "@/components/manufactures/ManufactureCard"; @@ -20,12 +20,12 @@ export default function Brands({ initialManufactures }) { const alpha = Array.from(Array(26)).map((e, i) => i + 65); const alphabets = alpha.map((x) => String.fromCharCode(x)); - const getMoreManufactures = async () => { + const getMoreManufactures = useCallback(async () => { const name = manufactureStartwith != '' ? `${manufactureStartwith}%` : ''; const result = await apiOdoo('GET', `/api/v1/manufacture?limit=30&offset=${manufactures.length}&name=${name}`); setHasMoreManufacture(manufactures.length + 30 < result.manufacture_total) setManufactures((manufactures) => [...manufactures, ...result.manufactures]); - }; + }, [ manufactureStartwith ]); const filterManufactureStartWith = (character) => { setManufactures([]); @@ -38,7 +38,7 @@ export default function Brands({ initialManufactures }) { useEffect(() => { getMoreManufactures(); - }, [manufactureStartwith]); + }, [ getMoreManufactures ]); return ( <> @@ -48,7 +48,7 @@ export default function Brands({ initialManufactures }) {

Semua Brand di Indoteknik

{alphabets.map((alphabet, index) => ( - ))} diff --git a/src/pages/shop/cart.js b/src/pages/shop/cart.js index d8327a10..ef62bb23 100644 --- a/src/pages/shop/cart.js +++ b/src/pages/shop/cart.js @@ -134,7 +134,7 @@ export default function Cart() { ConfirmAlert } = useConfirmAlert({ title: 'Hapus barang dari keranjang', - caption:'Apakah anda yakin menghapus barang dari keranjang', + caption:'Apakah anda yakin menghapus barang dari keranjang?', closeText: 'Batal', submitText: 'Hapus', onSubmit: deleteItem -- cgit v1.2.3