[홈배너] API 적용

This commit is contained in:
sungmin.in
2024-01-30 18:15:42 +09:00
parent 86b8271bfa
commit 5195e706df
3 changed files with 70 additions and 66 deletions

View File

@@ -8,11 +8,8 @@ import { shallowEqual, useDispatch, useSelector } from "react-redux";
import Spotlight from "@enact/spotlight";
import Marquee from "@enact/sandstone/Marquee";
import Spottable from "@enact/spotlight/Spottable";
import CustomImage from "../../../components/CustomImage/CustomImage";
import ViedoPlayer from "@enact/sandstone/VideoPlayer";
import css from "./Template.module.less";
import { getAdDetailAMD, getHomeTerms } from "../../../api/homeApi";
import banner2 from "../../../../assets/Image/img-home-banner-h-02.png";
import banner3 from "../../../../assets/Image/img-home-banner-v-01.png";
@@ -27,18 +24,47 @@ const Container = SpotlightContainerDecorator(
"div"
);
export default memo (function HomeBannerTemplate1 (
{homeMainContentsBannerInfos, homeTopDisplayInfos, ...rest})
{
// const {homeMainContentsBannerInfos, homeTopDisplayInfos } = props;
export default memo (function HomeBannerTemplate1 ({isOnTop, spotlightId, onScrollTop, onScrollShelf, ...rest}) {
const dispatch = useDispatch();
const homeMainContentsBannerInfos = useSelector((state) => state.home.mainContentsData.homeMainContentsBannerInfos);
const homeTopDisplayInfos = useSelector((state) => state.home.mainContentsData.homeTopDisplayInfos[0]);
const [topImagePath, setTopImagePath] = useState("");
const [verticalImage, setVerticalImage] = useState("");
const [bannerImageLoaded, setBannerImageLoaded] = useState(false);
// TOP IMAGE
const topImgPath = () => {
let imgPath = "";
if(homeTopDisplayInfos.wdthtpImgPath1 == "" || homeTopDisplayInfos.wdthtpImgPath1 == null){
imgPath = homeTopDisplayInfos.wdthtpImgPath2;
}else{
imgPath = homeTopDisplayInfos.wdthtpImgPath1;
}
setTopImagePath(imgPath);
};
// VerticalImage
const vtctpImage = () => {
let imgPath = "";
if(homeTopDisplayInfos.vtctpImgPath1 == "" || homeTopDisplayInfos.vtctpImgPath1 == null){
imgPath = homeTopDisplayInfos.vtctpImgPath2;
}else{
imgPath = homeTopDisplayInfos.vtctpImgPath1;
}
setVerticalImage(imgPath);
};
useEffect(() => {
console.log(homeMainContentsBannerInfos, "1111");
console.log(homeTopDisplayInfos, "2222");
}, []);
topImgPath();
vtctpImage();
}, [homeMainContentsBannerInfos, homeTopDisplayInfos]);
const onClickBanner = useCallback(() => {
@@ -52,11 +78,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0}
onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded}
src={
banner2
? banner2
: "../../../../assets/Image/img-home-banner-h-02.png"
}
src={topImagePath}
hide={""}
/>
@@ -65,11 +87,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0}
onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded}
src={
banner2
? banner2
: "../../../../assets/Image/img-home-banner-h-02.png"
}
src={topImagePath}
hide={""}
/>
</div>
@@ -80,11 +98,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0}
onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded}
src={
banner3
? banner3
: "../../../../assets/Image/img-home-banner-v-01.png"
}
src={verticalImage}
hide={""}
/>
<CustomImage
@@ -92,11 +106,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0}
onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded}
src={
banner4
? banner4
: "../../../../assets/Image/img-home-banner-v-02.png"
}
src={verticalImage}
hide={""}
/>
</div>

View File

@@ -10,60 +10,52 @@ import css from "../HomePanel/HomePanel.module.less";
import HomeTemplate from "./HomeTemplate";
import OnSale from "../HomePanel/OnSale/OnSale";
import SubCategory from "../HomePanel/SubCategory/SubCategory";
import PopularShow from "../HomePanel/PopularShow/PopularShow";
import BestSeller from "../HomePanel/BestSeller/BestSeller";
export default function HomePanel() {
const dispatch = useDispatch();
const latoutData = useSelector((state) => state.home.layoutData);
const homeMainContentsBannerInfos = useSelector(
(state) => state.home.mainContentsData.homeMainContentsBannerInfos
);
const homeTopDisplayInfos = useSelector(
(state) => state.home.mainContentsData.homeTopDisplayInfos
);
const homeMainContentsBannerInfos = useSelector((state) => state.home.mainContentsData.homeMainContentsBannerInfos);
const homeTopDisplayInfos = useSelector((state) => state.home.mainContentsData.homeTopDisplayInfos);
const [selectTemplate, setSelectTemplate] = useState(null);
const getHomeLayout = () => {
console.log("레이아웃");
};
}
const getHomeContents = () => {
// 추후 다시 한번 확인: 코드(DSP00201, 202, 203)
// 템플릿 선택
let tempTemplate = 0;
if (homeMainContentsBannerInfos) {
if (homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00201") {
if(homeTopDisplayInfos){
if(homeTopDisplayInfos[0].shptmTmplCd == "DSP00201"){
tempTemplate = 1;
}
if (homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00202") {
if(homeTopDisplayInfos[0].shptmTmplCd == "DSP00202"){
tempTemplate = 2;
}
if (homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00203") {
if(homeTopDisplayInfos[0].shptmTmplCd == "DSP00203"){
tempTemplate = 3;
}
}
setSelectTemplate(tempTemplate);
};
}
useEffect(()=>{
getHomeLayout();
getHomeContents();
}, []);
},[])
return (
<TPanel className={css.panelDesign}>
<HomeTemplate
<HomeTemplate isOnTop={""} spotlightId={""} onScrollTop={""} onScrollShelf={""}
selectTemplate={selectTemplate}
homeMainContentsBannerInfos={homeMainContentsBannerInfos}
homeTopDisplayInfos={homeTopDisplayInfos}
// homeMainContentsBannerInfos={homeMainContentsBannerInfos}
// homeTopDisplayInfos={homeTopDisplayInfos}
/>
<SubCategory />
<OnSale />
<PopularShow />
<BestSeller />
</TPanel>
);
}

View File

@@ -4,8 +4,8 @@ import HomeBannerTemplate1 from "../HomePanel/HomeBanner/HomeBannerTemplate1";
import HomeBannerTemplate2 from "../HomePanel/HomeBanner/HomeBannerTemplate2";
import HomeBannerTemplate3 from "../HomePanel/HomeBanner/HomeBannerTemplate3";
export default memo (function HomeTemplate(props) {
const {selectTemplate, homeMainContentsBannerInfos, homeTopDisplayInfos} = props;
export default memo (function HomeTemplate({isOnTop, spotlightId, onScrollTop, onScrollShelf, selectTemplate, ...rest}) {
let SelectedTemplate = null;
@@ -23,8 +23,10 @@ export default memo (function HomeTemplate(props) {
return SelectedTemplate ? (
<SelectedTemplate
homeMainContentsBannerInfos = {homeMainContentsBannerInfos}
homeTopDisplayInfos = {homeTopDisplayInfos}
isOnTop={""}
spotlightId={""}
onScrollTop={""}
onScrollShelf={""}
/>
) : null;
})