Skip to content

Commit 1fc3913

Browse files
Merge pull request #21 from binshops/routing-bug
Routing bug
2 parents 9779944 + 4ba64c3 commit 1fc3913

File tree

5 files changed

+15
-44
lines changed

5 files changed

+15
-44
lines changed

src/pages/category/[slug].tsx

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CategoryAPI, MegaMenuAPI } from "@/const/endPoint";
1+
import { CategoryAPI } from "@/const/endPoint";
22
import { getData } from "@/utils/api/fetchData/apiCall";
33
import { GetServerSidePropsContext } from "next";
44
import React, { FC, useState } from "react";
@@ -13,13 +13,11 @@ import Placeholder from "@/component/category/placeholder";
1313
import { CategoryTransformer } from "@/utils/api/transformer/category";
1414
import { useMegaMenu } from "@/context/menuContext";
1515
import { useQuery } from "react-query";
16-
import { MegaMenuTransformer } from "@/utils/api/transformer/megaMenu";
1716
import MetaTags from "@/component/metaTags";
1817

1918
const fetchCategoryData = async (
2019
categoryId: string,
2120
page: number,
22-
locale: string,
2321
filterQuery?: string,
2422
orderQuery?: string
2523
) => {
@@ -39,17 +37,9 @@ const CategoryPage: FC<CategoryPageProps> = ({ initialCategory }) => {
3937
const menu = useMegaMenu();
4038
const page = parseInt(router.query.page as string, 10) || 0;
4139
const categoryId = String(router.query.slug);
42-
4340
const { data: category, isLoading } = useQuery<Category>(
44-
["categoryData", categoryId, page, router.locale, filterQuery, orderQuery],
45-
() =>
46-
fetchCategoryData(
47-
categoryId,
48-
page,
49-
router.locale!,
50-
filterQuery,
51-
orderQuery
52-
),
41+
["categoryData", categoryId, page, filterQuery, orderQuery],
42+
() => fetchCategoryData(categoryId, page, filterQuery, orderQuery),
5343
{
5444
initialData: initialCategory || undefined,
5545
enabled: !initialCategory,
@@ -99,12 +89,9 @@ const CategoryPage: FC<CategoryPageProps> = ({ initialCategory }) => {
9989
};
10090

10191
export async function getServerSideProps(context: GetServerSidePropsContext) {
102-
const locale = context.locale;
10392
const categoryId = context.query.slug;
10493
const page = context.query.page;
10594
const referer = context.req.headers.referer || null;
106-
const menuData = await getData(MegaMenuAPI);
107-
const menu = MegaMenuTransformer(menuData).menuItems;
10895
if (!referer) {
10996
const categoryData = await getData(CategoryAPI, {
11097
id_category: categoryId,
@@ -113,11 +100,11 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
113100
const data = CategoryTransformer(categoryData);
114101

115102
return {
116-
props: { initialCategory: data, menu },
103+
props: { initialCategory: data },
117104
};
118105
}
119106

120-
return { props: { initialCategory: null, categoryId, menu } };
107+
return { props: { initialCategory: null, categoryId } };
121108
}
122109

123110
export default CategoryPage;

src/pages/index.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import MainSlider from "@/component/mainSlider";
22
import HomeCategory from "@/component/homeCategory";
33
import ProductCarousel from "@/component/productCarousel";
4-
import { HomePageAPI, MegaMenuAPI } from "@/const/endPoint";
4+
import { HomePageAPI } from "@/const/endPoint";
55
import Subscribe from "@/component/subscribe";
66
import InstagramPost from "@/component/instagramPost";
77
import { HomeProps, Product } from "@/utils/type";
88
import { MegaMenuProvider } from "@/context/menuContext";
9-
import { MegaMenuTransformer } from "@/utils/api/transformer/megaMenu";
109
import { HomeTransformer } from "@/utils/api/transformer/home";
1110
import { getData } from "@/utils/api/fetchData/apiCall";
1211
import { useScrollRestoration } from "@/utils/hooks";
@@ -54,14 +53,11 @@ export default function Home({
5453

5554
export async function getServerSideProps(context: GetServerSidePropsContext) {
5655
const referer = context.req.headers.referer || null;
57-
const locale = context.locale;
58-
const menuData = await getData(MegaMenuAPI);
59-
const menu = MegaMenuTransformer(menuData).menuItems;
6056
if (!referer) {
6157
const data = await getData(HomePageAPI);
6258
const { homeProductCarousel } = HomeTransformer(data);
6359

64-
return { props: { homeProductCarousel, menu } };
60+
return { props: { homeProductCarousel } };
6561
}
66-
return { props: { homeProductCarousel: null, menu } };
62+
return { props: { homeProductCarousel: null } };
6763
}

src/pages/product/[slug].tsx

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
1-
import { MegaMenuAPI, ProductDetailAPI } from "@/const/endPoint";
1+
import { ProductDetailAPI } from "@/const/endPoint";
22
import { getData } from "@/utils/api/fetchData/apiCall";
33
import { GetServerSidePropsContext } from "next";
44
import React, { FC } from "react";
55
import ProductDetails from "@/component/productDetails";
6-
import { ProductPageProps, ProductType } from "@/utils/type";
6+
import { ProductPageProps } from "@/utils/type";
77
import { ProductTransformer } from "@/utils/api/transformer/product";
8-
import { useRouter } from "next/router";
9-
import { MegaMenuTransformer } from "@/utils/api/transformer/megaMenu";
108
import ProductPlaceholder from "./placeholder";
119
import { useFetchProductData } from "@/utils/hooks/api/useFetchProductData";
1210
import MetaTags from "@/component/metaTags";
1311

1412
const ProductPage: FC<ProductPageProps> = ({ initialProduct, productId }) => {
15-
const router = useRouter();
16-
const locale = router.locale || "en";
17-
1813
const { data: product, isLoading } = useFetchProductData({
1914
productId,
20-
locale: locale,
2115
initialProduct,
2216
});
2317

@@ -34,18 +28,15 @@ const ProductPage: FC<ProductPageProps> = ({ initialProduct, productId }) => {
3428
};
3529

3630
export async function getServerSideProps(context: GetServerSidePropsContext) {
37-
const locale = context.locale;
3831
const productId = context.query.slug;
3932
const referer = context.req.headers.referer || null;
40-
const menuData = await getData(MegaMenuAPI);
41-
const menu = MegaMenuTransformer(menuData).menuItems;
4233
if (!referer) {
4334
const productData =
4435
productId && (await getData(ProductDetailAPI, { product_id: productId }));
4536
const data = ProductTransformer(productData);
46-
return { props: { initialProduct: data, productId, menu } };
37+
return { props: { initialProduct: data, productId } };
4738
}
48-
return { props: { initialProduct: null, productId, menu } };
39+
return { props: { initialProduct: null, productId } };
4940
}
5041

5142
export default ProductPage;

src/utils/api/transformer/category.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ export const CategoryTransformer = (data: CategoryAPI): Category => {
5959
product: productTransformer(data.psdata.products),
6060
filters: filtersTransformer(data.psdata.facets),
6161
sortOptions: sortTransformer(data.psdata.sort_orders),
62-
activeSort: data.psdata.order_param,
63-
activeFilter: data.psdata.q_param,
62+
activeSort: data.psdata.order_param ?? null,
63+
activeFilter: data.psdata.q_param ?? null,
6464
totalPage: data.psdata.pagination.pages_count,
6565
totalProducts: data.psdata.pagination.total_items,
6666
};

src/utils/hooks/api/useFetchProductData.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { ProductType } from "@/utils/type";
77
const fetchProductData = async ({
88
productId,
99
selectedOption = [],
10-
locale = "en",
1110
refresh = false,
1211
}: {
1312
productId: string;
@@ -35,7 +34,6 @@ const fetchProductData = async ({
3534
export const useFetchProductData = ({
3635
productId,
3736
selectedOption = [],
38-
locale = "en",
3937
refresh = false,
4038
initialProduct = undefined,
4139
}: {
@@ -46,12 +44,11 @@ export const useFetchProductData = ({
4644
initialProduct?: any;
4745
}) => {
4846
return useQuery(
49-
["productData", productId, selectedOption, locale],
47+
["productData", productId, selectedOption],
5048
() =>
5149
fetchProductData({
5250
productId,
5351
selectedOption,
54-
locale,
5552
refresh,
5653
}),
5754
{

0 commit comments

Comments
 (0)