mirror of
https://github.com/vercel/commerce.git
synced 2025-07-26 19:51:23 +00:00
bug: fix favorite products
This commit is contained in:
@@ -1,22 +1,14 @@
|
||||
import { ActiveCustomerQuery,QueryFavorite,Favorite } from '@framework/schema'
|
||||
import { normalizeFavoriteProductResult } from '@framework/utils/normalize'
|
||||
import { getFavoriteProductQuery } from '@framework/utils/queries/get-favorite-product-query'
|
||||
import gglFetcher from 'src/utils/gglFetcher'
|
||||
import useSWR from 'swr'
|
||||
|
||||
const useGetFavoriteProduct = (options:QueryFavorite) => {
|
||||
const { data, ...rest } = useSWR<ActiveCustomerQuery>([getFavoriteProductQuery, options], gglFetcher)
|
||||
console.log(options);
|
||||
// console.log( data?.activeCustomer?.favorites?.items);
|
||||
return {
|
||||
itemWishlist:
|
||||
data?.activeCustomer?.favorites?.items?.map((val:Favorite)=>({
|
||||
id: val.product?.id,
|
||||
name:val.product?.name,
|
||||
slug:val.product?.slug,
|
||||
price:val.product?.variants?.[0].price,
|
||||
imageSrc: val.product?.assets?.[0].preview,
|
||||
currencyCode: val.product?.variants?.[0].currencyCode
|
||||
})
|
||||
),
|
||||
itemWishlist: data?.activeCustomer?.favorites?.items?.map((item:Favorite) => normalizeFavoriteProductResult(item)),
|
||||
totalItems: data?.activeCustomer?.favorites?.totalItems,
|
||||
...rest
|
||||
}
|
||||
|
@@ -1,20 +1,20 @@
|
||||
import { QueryFavorite } from "@framework/schema"
|
||||
import commerce from '@lib/api/commerce'
|
||||
import { GetStaticPropsContext } from 'next'
|
||||
import { useRouter } from "next/router"
|
||||
import React, { useEffect, useState } from "react"
|
||||
import s from './AccountPage.module.scss'
|
||||
|
||||
import { HeadingCommon, TabPane } from "src/components/common"
|
||||
|
||||
import { useGetFavoriteProduct } from 'src/components/hooks/account'
|
||||
import { ACCOUNT_TAB, DEFAULT_PAGE_SIZE, QUERY_KEY } from "src/utils/constanst.utils"
|
||||
import { getPageFromQuery } from 'src/utils/funtion.utils'
|
||||
import { PromiseWithKey } from 'src/utils/types.utils'
|
||||
import AccountNavigation from '../AccountNavigation/AccountNavigation'
|
||||
import s from './AccountPage.module.scss'
|
||||
import AccountInfomation from "./components/AccountInfomation/AccountInfomation"
|
||||
import EditInfoModal from './components/EditInfoModal/EditInfoModal'
|
||||
import FavouriteProducts from "./components/FavouriteProducts/FavouriteProducts"
|
||||
import OrderInfomation from './components/OrderInformation/OrderInformation'
|
||||
import EditInfoModal from './components/EditInfoModal/EditInfoModal'
|
||||
import { PRODUCT_CART_DATA_TEST } from 'src/utils/demo-data';
|
||||
import { ACCOUNT_TAB, QUERY_KEY,DEFAULT_PAGE_SIZE } from "src/utils/constanst.utils"
|
||||
import { useRouter } from "next/router"
|
||||
import { useActiveCustomer } from 'src/components/hooks/auth'
|
||||
import { useGetFavoriteProduct } from 'src/components/hooks/account'
|
||||
import { QueryFavorite } from "@framework/schema"
|
||||
import { getPageFromQuery} from 'src/utils/funtion.utils'
|
||||
|
||||
|
||||
const waiting = [
|
||||
{
|
||||
@@ -93,8 +93,9 @@ const AccountPage = ({ defaultActiveContent="orders" } : AccountPageProps) => {
|
||||
const [activeTab, setActiveTab] = useState(defaultActiveContent==="info" ? 0 : defaultActiveContent==="orders" ? 1 : 2)
|
||||
const [modalVisible, setModalVisible] = useState(false);
|
||||
const [optionQueryFavorite, setoptionQueryFavorite] = useState<QueryFavorite>(DEFAULT_FAVORITE_ARGS)
|
||||
|
||||
const { itemWishlist,totalItems }= useGetFavoriteProduct(optionQueryFavorite);
|
||||
console.log(itemWishlist,totalItems)
|
||||
|
||||
|
||||
// skip
|
||||
useEffect(() => {
|
||||
@@ -143,4 +144,5 @@ const AccountPage = ({ defaultActiveContent="orders" } : AccountPageProps) => {
|
||||
)
|
||||
}
|
||||
|
||||
export default AccountPage
|
||||
export default AccountPage
|
||||
|
||||
|
@@ -10,6 +10,7 @@ interface FreshProductsProps {
|
||||
}
|
||||
|
||||
const FreshProducts = ({ data, collections }: FreshProductsProps) => {
|
||||
|
||||
const dataWithCategory = useMemo(() => {
|
||||
return data.map(item => {
|
||||
return {
|
||||
|
@@ -2,16 +2,16 @@ import React from 'react'
|
||||
import { ProductCarousel } from 'src/components/common'
|
||||
import { SPICE_DATA_TEST } from "../../../../utils/demo-data"
|
||||
import s from './HomeSpice.module.scss'
|
||||
|
||||
import { ProductCard } from '@commerce/types/product'
|
||||
interface HomeSpice {
|
||||
|
||||
data: ProductCard[]
|
||||
}
|
||||
|
||||
|
||||
const HomeSpice = ({}: HomeSpice) => {
|
||||
const HomeSpice = ({data}: HomeSpice) => {
|
||||
return (
|
||||
<div className={s.homeSpiceWarpper}>
|
||||
<ProductCarousel data={SPICE_DATA_TEST} itemKey="product-7"/>
|
||||
<ProductCarousel data={data} itemKey="product-7"/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
@@ -184,3 +184,4 @@ export const STATE_OPTIONS = [
|
||||
},
|
||||
]
|
||||
|
||||
export const COLLECTION_SLUG_SPICE ="spice";
|
||||
|
Reference in New Issue
Block a user