[홈배너] 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 Spotlight from "@enact/spotlight";
import Marquee from "@enact/sandstone/Marquee"; import Marquee from "@enact/sandstone/Marquee";
import Spottable from "@enact/spotlight/Spottable"; import Spottable from "@enact/spotlight/Spottable";
import CustomImage from "../../../components/CustomImage/CustomImage"; import CustomImage from "../../../components/CustomImage/CustomImage";
import ViedoPlayer from "@enact/sandstone/VideoPlayer";
import css from "./Template.module.less"; import css from "./Template.module.less";
import { getAdDetailAMD, getHomeTerms } from "../../../api/homeApi";
import banner2 from "../../../../assets/Image/img-home-banner-h-02.png"; import banner2 from "../../../../assets/Image/img-home-banner-h-02.png";
import banner3 from "../../../../assets/Image/img-home-banner-v-01.png"; import banner3 from "../../../../assets/Image/img-home-banner-v-01.png";
@@ -27,20 +24,49 @@ const Container = SpotlightContainerDecorator(
"div" "div"
); );
export default memo (function HomeBannerTemplate1 ( export default memo (function HomeBannerTemplate1 ({isOnTop, spotlightId, onScrollTop, onScrollShelf, ...rest}) {
{homeMainContentsBannerInfos, homeTopDisplayInfos, ...rest})
{
// const {homeMainContentsBannerInfos, homeTopDisplayInfos } = props;
const dispatch = useDispatch(); 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); const [bannerImageLoaded, setBannerImageLoaded] = useState(false);
useEffect(() => { // TOP IMAGE
console.log(homeMainContentsBannerInfos, "1111"); const topImgPath = () => {
console.log(homeTopDisplayInfos, "2222"); let imgPath = "";
}, []);
const onClickBanner = useCallback(() => { 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(() => {
topImgPath();
vtctpImage();
}, [homeMainContentsBannerInfos, homeTopDisplayInfos]);
const onClickBanner = useCallback(() => {
}, []); }, []);
@@ -52,24 +78,16 @@ export default memo (function HomeBannerTemplate1 (
delay={0} delay={0}
onClickBanner={onClickBanner} onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded} onImageLoaded={setBannerImageLoaded}
src={ src={topImagePath}
banner2
? banner2
: "../../../../assets/Image/img-home-banner-h-02.png"
}
hide={""} hide={""}
/> />
<CustomImage <CustomImage
className={css.banner02} className={css.banner02}
delay={0} delay={0}
onClickBanner={onClickBanner} onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded} onImageLoaded={setBannerImageLoaded}
src={ src={topImagePath}
banner2
? banner2
: "../../../../assets/Image/img-home-banner-h-02.png"
}
hide={""} hide={""}
/> />
</div> </div>
@@ -80,11 +98,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0} delay={0}
onClickBanner={onClickBanner} onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded} onImageLoaded={setBannerImageLoaded}
src={ src={verticalImage}
banner3
? banner3
: "../../../../assets/Image/img-home-banner-v-01.png"
}
hide={""} hide={""}
/> />
<CustomImage <CustomImage
@@ -92,11 +106,7 @@ export default memo (function HomeBannerTemplate1 (
delay={0} delay={0}
onClickBanner={onClickBanner} onClickBanner={onClickBanner}
onImageLoaded={setBannerImageLoaded} onImageLoaded={setBannerImageLoaded}
src={ src={verticalImage}
banner4
? banner4
: "../../../../assets/Image/img-home-banner-v-02.png"
}
hide={""} hide={""}
/> />
</div> </div>

View File

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

View File

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