[홈배너] 컴포넌트 위치 이동
This commit is contained in:
@@ -1,40 +0,0 @@
|
|||||||
import React, {
|
|
||||||
useCallback,
|
|
||||||
useEffect,
|
|
||||||
useState,
|
|
||||||
useMemo,
|
|
||||||
useRef,
|
|
||||||
} from "react";
|
|
||||||
|
|
||||||
import classNames from "classnames";
|
|
||||||
|
|
||||||
import { Job } from "@enact/core/util";
|
|
||||||
import { SpotlightContainerDecorator } from "@enact/spotlight/SpotlightContainerDecorator";
|
|
||||||
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 "../../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";
|
|
||||||
import banner4 from "../../../../assets/Image/img-home-banner-v-02.png";
|
|
||||||
|
|
||||||
const SpottableComponent = Spottable("div");
|
|
||||||
|
|
||||||
const Container = SpotlightContainerDecorator(
|
|
||||||
{
|
|
||||||
enterTo: "default-element",
|
|
||||||
},
|
|
||||||
"div"
|
|
||||||
);
|
|
||||||
|
|
||||||
export default function HomeBannerTemplate1 () {
|
|
||||||
return(
|
|
||||||
<p> 템플릿1</p>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
import React, {useCallback, useEffect, useState, useMemo,useRef ,memo} from "react";
|
||||||
|
|
||||||
|
import classNames from "classnames";
|
||||||
|
|
||||||
|
import { Job } from "@enact/core/util";
|
||||||
|
import { SpotlightContainerDecorator } from "@enact/spotlight/SpotlightContainerDecorator";
|
||||||
|
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";
|
||||||
|
import banner4 from "../../../../assets/Image/img-home-banner-v-02.png";
|
||||||
|
|
||||||
|
const SpottableComponent = Spottable("div");
|
||||||
|
|
||||||
|
const Container = SpotlightContainerDecorator(
|
||||||
|
{
|
||||||
|
enterTo: "default-element",
|
||||||
|
},
|
||||||
|
"div"
|
||||||
|
);
|
||||||
|
|
||||||
|
export default memo (function HomeBannerTemplate1 (
|
||||||
|
{homeMainContentsBannerInfos, homeTopDisplayInfos, ...rest})
|
||||||
|
{
|
||||||
|
// const {homeMainContentsBannerInfos, homeTopDisplayInfos } = props;
|
||||||
|
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
const [bannerImageLoaded, setBannerImageLoaded] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
console.log(homeMainContentsBannerInfos, "1111");
|
||||||
|
console.log(homeTopDisplayInfos, "2222");
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const onClickBanner = useCallback(() => {
|
||||||
|
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Container className={(css.container, css.homeTemplateBox)}>
|
||||||
|
<div className={css.leftBannerBox}>
|
||||||
|
<CustomImage
|
||||||
|
className={css.banner02}
|
||||||
|
delay={0}
|
||||||
|
onClickBanner={onClickBanner}
|
||||||
|
onImageLoaded={setBannerImageLoaded}
|
||||||
|
src={
|
||||||
|
banner2
|
||||||
|
? banner2
|
||||||
|
: "../../../../assets/Image/img-home-banner-h-02.png"
|
||||||
|
}
|
||||||
|
hide={""}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<CustomImage
|
||||||
|
className={css.banner02}
|
||||||
|
delay={0}
|
||||||
|
onClickBanner={onClickBanner}
|
||||||
|
onImageLoaded={setBannerImageLoaded}
|
||||||
|
src={
|
||||||
|
banner2
|
||||||
|
? banner2
|
||||||
|
: "../../../../assets/Image/img-home-banner-h-02.png"
|
||||||
|
}
|
||||||
|
hide={""}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={css.bannerFlexRow}>
|
||||||
|
<CustomImage
|
||||||
|
className={css.banner03}
|
||||||
|
delay={0}
|
||||||
|
onClickBanner={onClickBanner}
|
||||||
|
onImageLoaded={setBannerImageLoaded}
|
||||||
|
src={
|
||||||
|
banner3
|
||||||
|
? banner3
|
||||||
|
: "../../../../assets/Image/img-home-banner-v-01.png"
|
||||||
|
}
|
||||||
|
hide={""}
|
||||||
|
/>
|
||||||
|
<CustomImage
|
||||||
|
className={css.banner04}
|
||||||
|
delay={0}
|
||||||
|
onClickBanner={onClickBanner}
|
||||||
|
onImageLoaded={setBannerImageLoaded}
|
||||||
|
src={
|
||||||
|
banner4
|
||||||
|
? banner4
|
||||||
|
: "../../../../assets/Image/img-home-banner-v-02.png"
|
||||||
|
}
|
||||||
|
hide={""}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
})
|
||||||
@@ -1,22 +1,62 @@
|
|||||||
import React from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
|
|
||||||
import TPanel from "../../components/TPanel/TPanel";
|
import TPanel from "../../components/TPanel/TPanel";
|
||||||
import { $L } from "../../utils/helperMethods";
|
import { $L } from "../../utils/helperMethods";
|
||||||
|
|
||||||
import css from "../HomePanel/HomePanel.module.less";
|
import css from "../HomePanel/HomePanel.module.less";
|
||||||
|
|
||||||
import Template from "./HomeBanner/Template";
|
import HomeTemplate from "./HomeTemplate";
|
||||||
import OnSale from "./OnSale/OnSale";
|
import OnSale from "../HomePanel/OnSale/OnSale";
|
||||||
import SubCategory from "./SubCategory/SubCategory";
|
import SubCategory from "../HomePanel/SubCategory/SubCategory";
|
||||||
import PopularShow from "./PopularShow/PopularShow";
|
|
||||||
|
|
||||||
export default function HomePanel() {
|
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 [selectTemplate, setSelectTemplate] = useState(null);
|
||||||
|
|
||||||
|
const getHomeLayout = () => {
|
||||||
|
console.log("레이아웃");
|
||||||
|
}
|
||||||
|
|
||||||
|
const getHomeContents = () => {
|
||||||
|
// 추후 다시 한번 확인: 코드(DSP00201, 202, 203)
|
||||||
|
// 템플릿 선택
|
||||||
|
let tempTemplate = 0;
|
||||||
|
|
||||||
|
if(homeMainContentsBannerInfos){
|
||||||
|
if(homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00201"){
|
||||||
|
tempTemplate = 1;
|
||||||
|
}
|
||||||
|
if(homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00202"){
|
||||||
|
tempTemplate = 2;
|
||||||
|
}
|
||||||
|
if(homeMainContentsBannerInfos[0].shptmTmplCd == "DSP00203"){
|
||||||
|
tempTemplate = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setSelectTemplate(tempTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
getHomeLayout();
|
||||||
|
getHomeContents();
|
||||||
|
},[])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TPanel className={css.panelDesign}>
|
<TPanel className={css.panelDesign}>
|
||||||
<Template />
|
<HomeTemplate
|
||||||
|
selectTemplate={selectTemplate}
|
||||||
|
homeMainContentsBannerInfos={homeMainContentsBannerInfos}
|
||||||
|
homeTopDisplayInfos={homeTopDisplayInfos}
|
||||||
|
/>
|
||||||
<SubCategory />
|
<SubCategory />
|
||||||
<OnSale />
|
<OnSale />
|
||||||
<PopularShow />
|
|
||||||
</TPanel>
|
</TPanel>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
import React, { memo } from "react";
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
let SelectedTemplate = null;
|
||||||
|
|
||||||
|
switch (selectTemplate) {
|
||||||
|
case 1:
|
||||||
|
SelectedTemplate = HomeBannerTemplate1;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
SelectedTemplate = HomeBannerTemplate2;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
SelectedTemplate = HomeBannerTemplate3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return SelectedTemplate ? (
|
||||||
|
<SelectedTemplate
|
||||||
|
homeMainContentsBannerInfos = {homeMainContentsBannerInfos}
|
||||||
|
homeTopDisplayInfos = {homeTopDisplayInfos}
|
||||||
|
/>
|
||||||
|
) : null;
|
||||||
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user