호텔 상품테마 API
This commit is contained in:
@@ -3,6 +3,10 @@ import React, { useCallback, useEffect, useState } from "react";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
|
||||
import { getProductCouponSearch } from "../../actions/couponActions";
|
||||
import {
|
||||
getThemeCurationDetailInfo,
|
||||
getThemeHotelDetailInfo,
|
||||
} from "../../actions/homeActions";
|
||||
import {
|
||||
getMainCategoryDetail,
|
||||
getMyFavoriteFlag,
|
||||
@@ -22,41 +26,82 @@ import YouMayLike from "./container/YouMayLike";
|
||||
import css from "./DetailPanel.module.less";
|
||||
|
||||
export default function ItemDetail() {
|
||||
const [selectedPatnrId, setSelectedPatnrId] = useState();
|
||||
const [selectedPrdtId, setSelectedPrtdId] = useState();
|
||||
const [themeInfo, setThemeInfo] = useState("");
|
||||
const [selectedPatnrId, setSelectedPatnrId] = useState("");
|
||||
const [selectedPrdtId, setSelectedPrtdId] = useState("");
|
||||
|
||||
const productData = useSelector((state) => state.main.productData);
|
||||
const panels = useSelector((state) => state.panels.panels);
|
||||
const groupInfos = useSelector((state) => state.product.groupInfo);
|
||||
const themeCurationDetailInfoData = useSelector(
|
||||
(state) => state.home.themeCurationDetailInfoData
|
||||
);
|
||||
const themeCurationHotelDetailData = useSelector(
|
||||
(state) => state.home.themeCurationHotelDetailData
|
||||
);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const getPanelInfo = useCallback(() => {
|
||||
if (panels) {
|
||||
console.log("#panels", panels);
|
||||
for (let i = 0; i < panels.length; i++) {
|
||||
if (panels[i].name === "detailpanel") {
|
||||
setSelectedPatnrId(panels[i].panelInfo.patnrId);
|
||||
setSelectedPrtdId(panels[i].panelInfo.prdtId);
|
||||
if (panels[0].name == "hotpickpanel") {
|
||||
setThemeInfo(panels[i].panelInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, [panels]);
|
||||
|
||||
useEffect(() => {
|
||||
console.log("#Detail", themeCurationDetailInfoData);
|
||||
console.log("#Hotel", themeCurationHotelDetailData);
|
||||
console.log("#productData", productData);
|
||||
console.log("#groupInfos", groupInfos);
|
||||
}, [
|
||||
themeCurationDetailInfoData,
|
||||
themeCurationHotelDetailData,
|
||||
productData,
|
||||
groupInfos,
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
getPanelInfo();
|
||||
|
||||
dispatch(
|
||||
getMainCategoryDetail({
|
||||
patnrId: selectedPatnrId,
|
||||
prdtId: selectedPrdtId,
|
||||
})
|
||||
);
|
||||
if (themeInfo) {
|
||||
dispatch(
|
||||
getThemeCurationDetailInfo({
|
||||
patnrId: themeInfo.patnrId,
|
||||
curationId: themeInfo.curationId,
|
||||
})
|
||||
);
|
||||
dispatch(
|
||||
getThemeHotelDetailInfo({
|
||||
patnrId: themeInfo.patnrId,
|
||||
curationId: themeInfo.curationId,
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
dispatch(
|
||||
getProductGroup({
|
||||
patnrId: selectedPatnrId,
|
||||
prdtId: selectedPrdtId,
|
||||
})
|
||||
);
|
||||
}, [dispatch, panels, selectedPatnrId, selectedPrdtId]);
|
||||
if (!themeInfo) {
|
||||
dispatch(
|
||||
getMainCategoryDetail({
|
||||
patnrId: selectedPatnrId,
|
||||
prdtId: selectedPrdtId,
|
||||
})
|
||||
);
|
||||
|
||||
dispatch(
|
||||
getProductGroup({
|
||||
patnrId: selectedPatnrId,
|
||||
prdtId: selectedPrdtId,
|
||||
})
|
||||
);
|
||||
}
|
||||
}, [dispatch, panels, selectedPatnrId, selectedPrdtId, themeInfo]);
|
||||
|
||||
const onClick = () => {
|
||||
dispatch(popPanel());
|
||||
|
||||
Reference in New Issue
Block a user