From 410b363883cc8b441bc2a858825ade07d72a19ca Mon Sep 17 00:00:00 2001 From: IT Fixcomart Date: Tue, 1 Nov 2022 10:40:36 +0700 Subject: Add progress bar and performance optimization --- src/components/header.js | 7 ++++--- src/components/productCard.js | 6 +++++- src/icons/chevron-right.svg | 3 +++ src/pages/_app.js | 12 ++++++++++-- src/pages/index.js | 2 +- src/pages/shop/product/[slug].js | 8 +++++--- src/styles/globals.css | 4 ++++ 7 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 src/icons/chevron-right.svg (limited to 'src') diff --git a/src/components/header.js b/src/components/header.js index baebbd3a..3d5d0f84 100644 --- a/src/components/header.js +++ b/src/components/header.js @@ -3,6 +3,7 @@ import Link from "next/link"; import ShoppingCartIcon from "../icons/shopping-cart.svg"; import SearchIcon from "../icons/search.svg"; import MenuIcon from "../icons/menu.svg"; +import ChevronRightIcon from "../icons/chevron-right.svg"; import { useState } from "react"; @@ -23,19 +24,19 @@ export default function Header() { Brand
- +
Blog
- +
diff --git a/src/components/productCard.js b/src/components/productCard.js index 6e703670..f51473ad 100644 --- a/src/components/productCard.js +++ b/src/components/productCard.js @@ -1,13 +1,17 @@ import Link from "next/link"; import currencyFormat from "../helpers/currencyFormat"; import { createSlug } from "../helpers/slug"; +import { LazyLoadImage } from "react-lazy-load-image-component"; + +import 'react-lazy-load-image-component/src/effects/blur.css'; + export default function productCard({ data }) { let product = data; return (
- {product.name} +
diff --git a/src/icons/chevron-right.svg b/src/icons/chevron-right.svg new file mode 100644 index 00000000..fc5a76aa --- /dev/null +++ b/src/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/pages/_app.js b/src/pages/_app.js index 1e1cec92..7062d23c 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -1,7 +1,15 @@ -import '../styles/globals.css' +import '../styles/globals.css'; +import NextProgress from 'next-progress'; function MyApp({ Component, pageProps }) { - return + return ( + <> + + + + ) } export default MyApp diff --git a/src/pages/index.js b/src/pages/index.js index 57f96ec9..b91c99e7 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import Header from "../components/header"; +import Header from "../components/Header"; export default function Home() { const [product, setProduct] = useState({}); diff --git a/src/pages/shop/product/[slug].js b/src/pages/shop/product/[slug].js index 519f8160..2ff151fa 100644 --- a/src/pages/shop/product/[slug].js +++ b/src/pages/shop/product/[slug].js @@ -1,15 +1,17 @@ import Link from "next/link"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; -import Header from "../../../components/header"; -import ProductCard from "../../../components/productCard"; +import Header from "../../../components/Header"; +import ProductCard from "../../../components/ProductCard"; import { getOdoo } from "../../../helpers/apiOdoo"; import { createSlug, getId } from "../../../helpers/slug"; import currencyFormat from "../../../helpers/currencyFormat"; import Head from "next/head"; import { Swiper, SwiperSlide } from "swiper/react"; +import { LazyLoadImage } from "react-lazy-load-image-component"; import 'swiper/css'; +import 'react-lazy-load-image-component/src/effects/blur.css'; export async function getServerSideProps(context) { @@ -78,7 +80,7 @@ export default function ProductDetail({product, similarProducts}) {
- {product.name} + {product.manufacture.name || '-'} diff --git a/src/styles/globals.css b/src/styles/globals.css index 763a6d39..2e4ea975 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -217,4 +217,8 @@ html, body { .swiper-slide { @apply !h-auto; +} + +.lazy-load-image-background { + @apply !block; } \ No newline at end of file -- cgit v1.2.3