찜 등록 및 조회
This commit is contained in:
BIN
com.twin.app.shoptime/assets/images/icons/ic-heart-sel@3x.png
Normal file
BIN
com.twin.app.shoptime/assets/images/icons/ic-heart-sel@3x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
@@ -67,6 +67,7 @@ export const types = {
|
|||||||
GET_MY_CUSTOMERS: "GET_MY_CUSTOMERS",
|
GET_MY_CUSTOMERS: "GET_MY_CUSTOMERS",
|
||||||
GET_MY_FAVORITE: "GET_MY_FAVORITE",
|
GET_MY_FAVORITE: "GET_MY_FAVORITE",
|
||||||
DELETE_MY_FAVORITE: "DELETE_MY_FAVORITE",
|
DELETE_MY_FAVORITE: "DELETE_MY_FAVORITE",
|
||||||
|
GET_MY_FAVORITE_FLAG: "GET_MY_FAVORITE_FLAG",
|
||||||
|
|
||||||
// onSale actions
|
// onSale actions
|
||||||
GET_ON_SALE_INFO: "GET_ON_SALE_INFO",
|
GET_ON_SALE_INFO: "GET_ON_SALE_INFO",
|
||||||
|
|||||||
@@ -144,10 +144,37 @@ export const getMainYouMayLike =
|
|||||||
onFail
|
onFail
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
// 찜 여부 확인 IF-LGSP-075
|
||||||
|
export const getMyFavoriteFlag = (params) => (dispatch, getState) => {
|
||||||
|
const { patnrId, prdtId } = params;
|
||||||
|
|
||||||
|
console.log("#patnrId , prdtId", patnrId, prdtId);
|
||||||
|
const onSuccess = (response) => {
|
||||||
|
console.log("getMyFavoriteFlag onSuccess ", response.data);
|
||||||
|
dispatch({
|
||||||
|
type: types.GET_MY_FAVORITE_FLAG,
|
||||||
|
payload: response.data.data,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const onFail = (error) => {
|
||||||
|
console.error("getMyFavoriteFlag onFail", error);
|
||||||
|
};
|
||||||
|
|
||||||
|
TAxios(
|
||||||
|
dispatch,
|
||||||
|
getState,
|
||||||
|
"get",
|
||||||
|
URLS.GET_MY_FAVORITE_FLAG,
|
||||||
|
{ patnrId, prdtId },
|
||||||
|
{},
|
||||||
|
onSuccess,
|
||||||
|
onFail
|
||||||
|
);
|
||||||
|
};
|
||||||
// 상품 찜하기 IF-LGSP-014
|
// 상품 찜하기 IF-LGSP-014
|
||||||
export const setMainLikeCategory = (params) => (dispatch, getState) => {
|
export const setMainLikeCategory = (params) => (dispatch, getState) => {
|
||||||
const { patnrId, prdtId } = params;
|
const { patnrId, prdtId } = params;
|
||||||
|
|
||||||
const onSuccess = (response) => {
|
const onSuccess = (response) => {
|
||||||
console.log("setMainLikeCategory onSuccess ", response.data);
|
console.log("setMainLikeCategory onSuccess ", response.data);
|
||||||
dispatch({
|
dispatch({
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ export const URLS = {
|
|||||||
GET_MY_CUSTOMERS: "/lgsp/v1/mypage/customers.lge",
|
GET_MY_CUSTOMERS: "/lgsp/v1/mypage/customers.lge",
|
||||||
GET_MY_FAVORITE: "/lgsp/v1/mypage/favorite.lge",
|
GET_MY_FAVORITE: "/lgsp/v1/mypage/favorite.lge",
|
||||||
DELETE_MY_FAVORITE: "/lgsp/v1/mypage/favorite.lge",
|
DELETE_MY_FAVORITE: "/lgsp/v1/mypage/favorite.lge",
|
||||||
|
GET_MY_FAVORITE_FLAG: "/lgsp/v1/mypage/favorite/flag.lge",
|
||||||
|
|
||||||
//search controller
|
//search controller
|
||||||
GET_SEARCH: "/lgsp/v1/search/list.lge",
|
GET_SEARCH: "/lgsp/v1/search/list.lge",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const initialState = {
|
|||||||
contactData: {},
|
contactData: {},
|
||||||
noticeData: {},
|
noticeData: {},
|
||||||
favoriteData: {},
|
favoriteData: {},
|
||||||
|
favoriteFlagData: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const myPageReducer = (state = initialState, action) => {
|
export const myPageReducer = (state = initialState, action) => {
|
||||||
@@ -44,6 +45,11 @@ export const myPageReducer = (state = initialState, action) => {
|
|||||||
favorites: action.payload,
|
favorites: action.payload,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
case types.GET_MY_FAVORITE_FLAG:
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
favoriteFlagData: action.payload,
|
||||||
|
};
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
|
|||||||
@@ -1,65 +1,72 @@
|
|||||||
import React, {
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
useEffect,
|
|
||||||
useState,
|
|
||||||
} from 'react';
|
|
||||||
|
|
||||||
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
|
|
||||||
|
import { getProductCouponSearch } from "../../actions/couponActions";
|
||||||
import {
|
import {
|
||||||
useDispatch,
|
getMainCategoryDetail,
|
||||||
useSelector,
|
getMyFavoriteFlag,
|
||||||
} from 'react-redux';
|
} from "../../actions/mainActions";
|
||||||
|
import { popPanel } from "../../actions/panelActions";
|
||||||
import { getProductCouponSearch } from '../../actions/couponActions';
|
import { getProductGroup } from "../../actions/productActions";
|
||||||
import { getMainCategoryDetail } from '../../actions/mainActions';
|
import TBody from "../../components/TBody/TBody";
|
||||||
import { popPanel } from '../../actions/panelActions';
|
import THeader from "../../components/THeader/THeader";
|
||||||
import { getProductGroup } from '../../actions/productActions';
|
import TPanel from "../../components/TPanel/TPanel";
|
||||||
import TBody from '../../components/TBody/TBody';
|
import ProductOption from "./components/ProductOption";
|
||||||
import THeader from '../../components/THeader/THeader';
|
import ProductThumbnail from "./components/ProductThumbnail";
|
||||||
import TPanel from '../../components/TPanel/TPanel';
|
import GroupProduct from "./container/GroupProduct";
|
||||||
import ProductOption from './components/ProductOption';
|
import SingleProduct from "./container/SingleProduct";
|
||||||
import ProductThumbnail from './components/ProductThumbnail';
|
import ThemeProduct from "./container/ThemeProduct";
|
||||||
import GroupProduct from './container/GroupProduct';
|
import UnableProduct from "./container/UnableProduct";
|
||||||
import SingleProduct from './container/SingleProduct';
|
import YouMayLike from "./container/YouMayLike";
|
||||||
import ThemeProduct from './container/ThemeProduct';
|
import css from "./DetailPanel.module.less";
|
||||||
import UnableProduct from './container/UnableProduct';
|
|
||||||
import YouMayLike from './container/YouMayLike';
|
|
||||||
import css from './DetailPanel.module.less';
|
|
||||||
|
|
||||||
export default function ItemDetail() {
|
export default function ItemDetail() {
|
||||||
const [panelInfo, setPaneInfo] = useState();
|
const [selectedPatnrId, setSelectedPatnrId] = useState();
|
||||||
|
const [selectedPrdtId, setSelectedPrtdId] = useState();
|
||||||
const productData = useSelector((state) => state.main.productData);
|
const productData = useSelector((state) => state.main.productData);
|
||||||
const isGroupOption = useSelector((state) => state.main.productGroupYn);
|
|
||||||
const panels = useSelector((state) => state.panels.panels);
|
const panels = useSelector((state) => state.panels.panels);
|
||||||
|
const groupInfos = useSelector((state) => state.product.groupInfo);
|
||||||
|
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const getPanelInfo = () => {
|
const getPanelInfo = useCallback(() => {
|
||||||
if (panels) {
|
if (panels) {
|
||||||
for (let i = 0; i < panels.length; i++) {
|
for (let i = 0; i < panels.length; i++) {
|
||||||
if (panels[i].name === "detailpanel") {
|
if (panels[i].name === "detailpanel") {
|
||||||
setPaneInfo(panels[i].panelInfo);
|
setSelectedPatnrId(panels[i].panelInfo.patnrId);
|
||||||
|
setSelectedPrtdId(panels[i].panelInfo.prdtId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
}, [panels]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getPanelInfo();
|
getPanelInfo();
|
||||||
|
|
||||||
if (panels && panelInfo) {
|
dispatch(
|
||||||
dispatch(
|
getMainCategoryDetail({
|
||||||
getMainCategoryDetail({
|
patnrId: selectedPatnrId,
|
||||||
patnrId: panelInfo?.patnrId,
|
prdtId: selectedPrdtId,
|
||||||
prdtId: panelInfo?.prdtId,
|
})
|
||||||
})
|
);
|
||||||
);
|
|
||||||
|
|
||||||
dispatch(
|
dispatch(
|
||||||
getProductGroup({
|
getProductGroup({
|
||||||
patnrId: panelInfo?.patnrId,
|
patnrId: selectedPatnrId,
|
||||||
prdtId: panelInfo?.prdtId,
|
prdtId: selectedPrdtId,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
dispatch(
|
||||||
}, [dispatch, panels, panelInfo]);
|
getProductGroup({
|
||||||
|
patnrId: selectedPatnrId,
|
||||||
|
prdtId: selectedPrdtId,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
dispatch(
|
||||||
|
getMyFavoriteFlag({ patnrId: selectedPatnrId, prdtId: selectedPrdtId })
|
||||||
|
);
|
||||||
|
}, [dispatch, panels, selectedPatnrId, selectedPrdtId]);
|
||||||
|
|
||||||
const onClick = () => {
|
const onClick = () => {
|
||||||
dispatch(popPanel());
|
dispatch(popPanel());
|
||||||
@@ -75,22 +82,26 @@ export default function ItemDetail() {
|
|||||||
<TBody className={css.container} scrollable={false}>
|
<TBody className={css.container} scrollable={false}>
|
||||||
{/* 단일상품 영역 */}
|
{/* 단일상품 영역 */}
|
||||||
{productData?.pmtSuptYn === "Y" && (
|
{productData?.pmtSuptYn === "Y" && (
|
||||||
<SingleProduct selectedPatnrId={"11"} selectedPrdtId={"7280567"} />
|
<SingleProduct
|
||||||
)}
|
selectedPatnrId={selectedPatnrId}
|
||||||
{/* 그룹상품 영역 */}
|
selectedPrdtId={selectedPrdtId}
|
||||||
{isGroupOption && isGroupOption === "Y" && (
|
|
||||||
<GroupProduct
|
|
||||||
selectedPatnrId={panelInfo?.patnrId}
|
|
||||||
selectedPrdtId={panelInfo?.prdtId}
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{/* 구매불가상품 영역 */}
|
{/* 구매불가상품 영역 */}
|
||||||
{productData?.pmtSuptYn === "N" && (
|
{productData?.pmtSuptYn === "N" && (
|
||||||
<UnableProduct
|
<UnableProduct
|
||||||
selectedPatnrId={panelInfo?.patnrId}
|
selectedPatnrId={selectedPatnrId}
|
||||||
selectedPrdtId={panelInfo?.prdtId}
|
selectedPrdtId={selectedPrdtId}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
{/* 그룹상품 영역 */}
|
||||||
|
{groupInfos && (
|
||||||
|
<GroupProduct
|
||||||
|
selectedPatnrId={selectedPatnrId}
|
||||||
|
selectedPrdtId={selectedPrdtId}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* 테마그룹상품 영역*/}
|
{/* 테마그룹상품 영역*/}
|
||||||
{/* <ThemeProduct
|
{/* <ThemeProduct
|
||||||
selectedPatnrId={panelInfo?.patnrId}
|
selectedPatnrId={panelInfo?.patnrId}
|
||||||
|
|||||||
@@ -5,14 +5,10 @@ import { useSelector } from "react-redux";
|
|||||||
import { $L } from "../../../utils/helperMethods";
|
import { $L } from "../../../utils/helperMethods";
|
||||||
import ProductTag from "../components/common/ProductTag";
|
import ProductTag from "../components/common/ProductTag";
|
||||||
import StarRating from "../components/common/StarRating";
|
import StarRating from "../components/common/StarRating";
|
||||||
import OptionGroup from "./optionTypes/OptionGroup";
|
|
||||||
import OptionPartnerPrice from "./optionTypes/OptionPartnerPrice";
|
|
||||||
import OptionCommon from "./optionTypes/SingleProductOption";
|
|
||||||
import css from "./ProductOption.module.less";
|
import css from "./ProductOption.module.less";
|
||||||
|
|
||||||
export default function ProductOption({ children }) {
|
export default function ProductOption({ children }) {
|
||||||
const productDataInfos = useSelector((state) => state.main.productData);
|
const productDataInfos = useSelector((state) => state.main.productData);
|
||||||
const isGroupOption = useSelector((state) => state.main.productGroupYn);
|
|
||||||
const { patncLogoPath, prdtId, prdtNm, revwGrd, pmtSuptYn } =
|
const { patncLogoPath, prdtId, prdtNm, revwGrd, pmtSuptYn } =
|
||||||
productDataInfos;
|
productDataInfos;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import React, { useCallback } from "react";
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
|
|
||||||
|
import classNames from "classnames";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
|
|
||||||
import { setHidePopup, setShowPopup } from "../../../../actions/commonActions";
|
import { setHidePopup, setShowPopup } from "../../../../actions/commonActions";
|
||||||
@@ -16,24 +17,38 @@ export default function FavoriteBtn({ selectedPatnrId, selectedPrdtId }) {
|
|||||||
const { popupVisible, activePopup } = useSelector(
|
const { popupVisible, activePopup } = useSelector(
|
||||||
(state) => state.common.popup
|
(state) => state.common.popup
|
||||||
);
|
);
|
||||||
|
|
||||||
const { favorYn } = productInfos;
|
const { favorYn } = productInfos;
|
||||||
const { loginUserData } = useSelector((state) => state.common.appStatus);
|
const { loginUserData } = useSelector((state) => state.common.appStatus);
|
||||||
|
const { favorFlag } = useSelector((state) => state.myPage.favoriteFlagData);
|
||||||
|
|
||||||
const handleFavoriteClick = useCallback(() => {
|
useEffect(() => {
|
||||||
if (!loginUserData.userInfo) {
|
console.log("#favorflag", favorFlag);
|
||||||
dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup));
|
console.log("#favorYn", favorYn);
|
||||||
} else {
|
}, [favorFlag]);
|
||||||
dispatch(
|
|
||||||
setMainLikeCategory({
|
|
||||||
patnrId: selectedPatnrId,
|
|
||||||
prdtId: selectedPrdtId,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// dispatch(setShowPopup(Config.ACTIVE_POPUP.favoritePopup));
|
const handleFavoriteClick = useCallback(
|
||||||
}, [dispatch]);
|
(type) => {
|
||||||
|
if (!loginUserData.userInfo) {
|
||||||
|
dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case "N":
|
||||||
|
dispatch(
|
||||||
|
setMainLikeCategory({
|
||||||
|
patnrId: selectedPatnrId,
|
||||||
|
prdtId: selectedPrdtId,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
dispatch(setShowPopup(Config.ACTIVE_POPUP.favoritePopup));
|
||||||
|
break;
|
||||||
|
case "Y":
|
||||||
|
dispatch(setShowPopup(Config.ACTIVE_POPUP.favoritePopup));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[dispatch, selectedPatnrId, selectedPrdtId]
|
||||||
|
);
|
||||||
|
|
||||||
const onClose = useCallback(() => {
|
const onClose = useCallback(() => {
|
||||||
dispatch(setHidePopup());
|
dispatch(setHidePopup());
|
||||||
@@ -41,7 +56,12 @@ export default function FavoriteBtn({ selectedPatnrId, selectedPrdtId }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={css.favorBtnContainer}>
|
<div className={css.favorBtnContainer}>
|
||||||
<TButton className={css.favorBtn} onClick={handleFavoriteClick} />
|
<TButton
|
||||||
|
className={classNames(
|
||||||
|
favorFlag === "N" ? css.favorBtn : css.favorUnableBtn
|
||||||
|
)}
|
||||||
|
onClick={() => handleFavoriteClick(favorFlag)}
|
||||||
|
/>
|
||||||
{activePopup === Config.ACTIVE_POPUP.favoritePopup && (
|
{activePopup === Config.ACTIVE_POPUP.favoritePopup && (
|
||||||
<TPopUp
|
<TPopUp
|
||||||
kind="textPopup"
|
kind="textPopup"
|
||||||
|
|||||||
@@ -10,4 +10,10 @@
|
|||||||
background-image: url(../../../../../assets/images/icons/ic-heart-nor@3x.png);
|
background-image: url(../../../../../assets/images/icons/ic-heart-nor@3x.png);
|
||||||
.imgElement(54px, 54px, center, center);
|
.imgElement(54px, 54px, center, center);
|
||||||
}
|
}
|
||||||
|
.favorUnableBtn {
|
||||||
|
min-width: 78px;
|
||||||
|
height: 78px;
|
||||||
|
background-image: url(../../../../../assets/images/icons/ic-heart-sel@3x.png);
|
||||||
|
.imgElement(54px, 54px, center, center);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,16 @@
|
|||||||
import React, { useEffect } from 'react';
|
import React, { useEffect } from "react";
|
||||||
|
|
||||||
import {
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
useDispatch,
|
|
||||||
useSelector,
|
|
||||||
} from 'react-redux';
|
|
||||||
|
|
||||||
import SpotlightContainerDecorator
|
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator";
|
||||||
from '@enact/spotlight/SpotlightContainerDecorator';
|
import Spottable from "@enact/spotlight/Spottable";
|
||||||
import Spottable from '@enact/spotlight/Spottable';
|
|
||||||
|
|
||||||
import noGroupImg
|
import noGroupImg from "../../../../../assets/images/img-my-info-billing@3x.png";
|
||||||
from '../../../../../assets/images/img-my-info-billing@3x.png';
|
import { getMainCategoryDetail } from "../../../../actions/mainActions";
|
||||||
import { getMainCategoryDetail } from '../../../../actions/mainActions';
|
import { getProductGroup } from "../../../../actions/productActions";
|
||||||
import { getProductGroup } from '../../../../actions/productActions';
|
import TScroller from "../../../../components/TScroller/TScroller";
|
||||||
import TScroller from '../../../../components/TScroller/TScroller';
|
import { $L } from "../../../../utils/helperMethods";
|
||||||
import { $L } from '../../../../utils/helperMethods';
|
import css from "./OptionGroup.module.less";
|
||||||
import css from './OptionGroup.module.less';
|
|
||||||
|
|
||||||
const Container = SpotlightContainerDecorator(
|
const Container = SpotlightContainerDecorator(
|
||||||
{ enterTo: "last-focused", continue5WayHold: true },
|
{ enterTo: "last-focused", continue5WayHold: true },
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from "react";
|
||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from "classnames";
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
import TButton from '../../../../components/TButton/TButton';
|
import TButton from "../../../../components/TButton/TButton";
|
||||||
import TQRCode from '../../../../components/TQRCode/TQRCode';
|
import TQRCode from "../../../../components/TQRCode/TQRCode";
|
||||||
import usePriceInfo from '../../../../hooks/usePriceInfo';
|
import usePriceInfo from "../../../../hooks/usePriceInfo";
|
||||||
import { $L } from '../../../../utils/helperMethods';
|
import { $L } from "../../../../utils/helperMethods";
|
||||||
import FavoriteBtn from '../common/FavoriteBtn';
|
import FavoriteBtn from "../common/FavoriteBtn";
|
||||||
import css from './OptionPartnerPrice.module.less';
|
import css from "./OptionPartnerPrice.module.less";
|
||||||
|
|
||||||
export default function OptionPartnerPrice({
|
export default function OptionPartnerPrice({
|
||||||
selectedPatnrId,
|
selectedPatnrId,
|
||||||
@@ -31,7 +31,6 @@ export default function OptionPartnerPrice({
|
|||||||
} = productInfos;
|
} = productInfos;
|
||||||
|
|
||||||
const { discountRate } = usePriceInfo(priceInfo) || {};
|
const { discountRate } = usePriceInfo(priceInfo) || {};
|
||||||
|
|
||||||
const TYPE_CASE = {
|
const TYPE_CASE = {
|
||||||
case1: price2 && !price3 && !price5,
|
case1: price2 && !price3 && !price5,
|
||||||
case2: price2 && price3 && !price5,
|
case2: price2 && price3 && !price5,
|
||||||
@@ -46,7 +45,9 @@ export default function OptionPartnerPrice({
|
|||||||
|
|
||||||
const renderPriceItem = useCallback(() => {
|
const renderPriceItem = useCallback(() => {
|
||||||
if (productInfos) {
|
if (productInfos) {
|
||||||
|
console.log("#구매불가 컴포넌트1111");
|
||||||
if (rewd) {
|
if (rewd) {
|
||||||
|
console.log("#구매불가 컴포넌트2222");
|
||||||
return (
|
return (
|
||||||
<div className={css.wrapper}>
|
<div className={css.wrapper}>
|
||||||
<div className={css.rewdTopLayer}>
|
<div className={css.rewdTopLayer}>
|
||||||
@@ -123,8 +124,8 @@ export default function OptionPartnerPrice({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("OptionPartnerPrice productInfos no data");
|
console.log("#OptionPartnerPrice productInfos no data");
|
||||||
return;
|
return <div>'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'</div>;
|
||||||
}
|
}
|
||||||
}, [productInfos]);
|
}, [productInfos]);
|
||||||
|
|
||||||
|
|||||||
@@ -63,9 +63,6 @@ export default function SingleProductOption({
|
|||||||
[selectedBtnOptIdx]
|
[selectedBtnOptIdx]
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
console.log("#loginUserData", loginUserData);
|
|
||||||
}, [loginUserData]);
|
|
||||||
const [couponTypes, setCouponTypes] = useState(null);
|
const [couponTypes, setCouponTypes] = useState(null);
|
||||||
|
|
||||||
const { priceInfo, shippingCharge, patncNm } = productData;
|
const { priceInfo, shippingCharge, patncNm } = productData;
|
||||||
@@ -89,13 +86,6 @@ export default function SingleProductOption({
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
// console.log("#productData", productData);
|
|
||||||
console.log("#couponInfo", partnerCoupon, shoptiemCoupon);
|
|
||||||
// console.log("#productOptionInfos", productOptionInfos);
|
|
||||||
}, [productOptionInfos]);
|
|
||||||
|
|
||||||
const handleIncrement = useCallback(() => {
|
const handleIncrement = useCallback(() => {
|
||||||
setQuantity(quantity + 1);
|
setQuantity(quantity + 1);
|
||||||
}, [quantity]);
|
}, [quantity]);
|
||||||
@@ -147,7 +137,6 @@ export default function SingleProductOption({
|
|||||||
const couponAplyStartDate = cpnAplyStrtDtt.split(" ")[0];
|
const couponAplyStartDate = cpnAplyStrtDtt.split(" ")[0];
|
||||||
const couponAplyEndDate = cpnAplyEndDtt.split(" ")[0];
|
const couponAplyEndDate = cpnAplyEndDtt.split(" ")[0];
|
||||||
|
|
||||||
//Spotlight.focus("spotlight-coupon-0");
|
|
||||||
const handleItemClick = () => {};
|
const handleItemClick = () => {};
|
||||||
return (
|
return (
|
||||||
<SpottableComponent
|
<SpottableComponent
|
||||||
@@ -286,7 +275,7 @@ export default function SingleProductOption({
|
|||||||
</TButton>
|
</TButton>
|
||||||
<FavoriteBtn
|
<FavoriteBtn
|
||||||
selectedPatnrId={selectedPatnrId}
|
selectedPatnrId={selectedPatnrId}
|
||||||
selectedPardtId={selectedPrdtId}
|
selectedPrdtId={selectedPrdtId}
|
||||||
/>
|
/>
|
||||||
</Container>
|
</Container>
|
||||||
{/* LOGIN POPUP */}
|
{/* LOGIN POPUP */}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import React from 'react';
|
import React from "react";
|
||||||
|
|
||||||
import OptionPartnerPrice from '../components/optionTypes/OptionPartnerPrice';
|
import OptionPartnerPrice from "../components/optionTypes/OptionPartnerPrice";
|
||||||
import ProductOption from '../components/ProductOption';
|
import ProductOption from "../components/ProductOption";
|
||||||
import ProductThumbnail from '../components/ProductThumbnail';
|
import ProductThumbnail from "../components/ProductThumbnail";
|
||||||
import css from './UnableProduct.module.less';
|
import css from "./UnableProduct.module.less";
|
||||||
|
|
||||||
export default function UnableProduct({ selectedPatnrId, selectedPrdtId }) {
|
export default function UnableProduct({ selectedPatnrId, selectedPrdtId }) {
|
||||||
|
console.log("#Unable");
|
||||||
return (
|
return (
|
||||||
<div className={css.container}>
|
<div className={css.container}>
|
||||||
<ProductThumbnail />
|
<ProductThumbnail />
|
||||||
|
|||||||
Reference in New Issue
Block a user