[전체] userInfo -> userNumber 변경 /

reducer appStatus.loginUserData 구조 변경
This commit is contained in:
hyunwoo93.cha
2024-05-21 16:10:54 +09:00
parent 460443d43e
commit e14fa043cb
18 changed files with 434 additions and 296 deletions

View File

@@ -1,36 +1,53 @@
import React, { useCallback, useEffect, useState } from "react"; import React, {
useCallback,
useEffect,
useState,
} from 'react';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import platform from "@enact/core/platform"; import platform from '@enact/core/platform';
import ThemeDecorator from "@enact/sandstone/ThemeDecorator"; import ThemeDecorator from '@enact/sandstone/ThemeDecorator';
import appinfo from "../../webos-meta/appinfo.json"; import appinfo from '../../webos-meta/appinfo.json';
import { import {
changeAppStatus, changeAppStatus,
getDeviceId, getDeviceId,
getHttpHeaderForServiceRequest, getHttpHeaderForServiceRequest,
getSystemSettings, getSystemSettings,
setExitApp, setExitApp,
} from "../actions/commonActions"; } from '../actions/commonActions';
import { getHomeMenu, getHomeTerms } from "../actions/homeActions"; import {
getHomeMenu,
getHomeTerms,
} from '../actions/homeActions';
import { import {
getMyRecommandedKeyword, getMyRecommandedKeyword,
getMyUpcomingAlertShow, getMyUpcomingAlertShow,
setMyTermsWithdraw, setMyTermsWithdraw,
} from "../actions/myPageActions"; } from '../actions/myPageActions';
import { pushPanel } from "../actions/panelActions"; import { pushPanel } from '../actions/panelActions';
import { countryCode, ricCode } from "../api/apiConfig"; import {
import TPopUp from "../components/TPopUp/TPopUp"; countryCode,
import usePrevious from "../hooks/usePrevious"; ricCode,
import { logoutAccount } from "../lunaSend"; } from '../api/apiConfig';
import { checkValidCountry } from "../lunaSend/common"; import TPopUp from '../components/TPopUp/TPopUp';
import { lunaTest } from "../lunaSend/lunaTest"; import usePrevious from '../hooks/usePrevious';
import * as Config from "../utils/Config"; import { logoutAccount } from '../lunaSend';
import { $L, clearLaunchParams, getLaunchParams } from "../utils/helperMethods"; import { checkValidCountry } from '../lunaSend/common';
import MainView from "../views/MainView/MainView"; import { lunaTest } from '../lunaSend/lunaTest';
import css from "./App.module.less"; import * as Config from '../utils/Config';
import { handleDeepLink } from "./deepLinkHandler"; import {
$L,
clearLaunchParams,
getLaunchParams,
} from '../utils/helperMethods';
import MainView from '../views/MainView/MainView';
import css from './App.module.less';
import { handleDeepLink } from './deepLinkHandler';
let foreGroundChangeTimer = null; let foreGroundChangeTimer = null;
@@ -188,7 +205,7 @@ function AppBase(props) {
); );
dispatch( dispatch(
getHomeTerms({ getHomeTerms({
mbrNo: appStatus.loginUserData.userInfo, mbrNo: appStatus.loginUserData.userNumber,
trmsTpCdList: "MST00401, MST00402", trmsTpCdList: "MST00401, MST00402",
}) })
); );

View File

@@ -155,4 +155,7 @@ export const types = {
"GET_MY_INFO_ORDER_CANCEL_COLUMNS_SEARCH", "GET_MY_INFO_ORDER_CANCEL_COLUMNS_SEARCH",
UPDATE_ORDER_PARTIAL_CANCEL: "UPDATE_ORDER_PARTIAL_CANCEL", UPDATE_ORDER_PARTIAL_CANCEL: "UPDATE_ORDER_PARTIAL_CANCEL",
PAYMENT_TOTAL_CANCEL: "PAYMENT_TOTAL_CANCEL", PAYMENT_TOTAL_CANCEL: "PAYMENT_TOTAL_CANCEL",
// emp actions
GET_SHOPTIME_TERMS: "GET_SHOPTIME_TERMS",
}; };

View File

@@ -0,0 +1,30 @@
import { URLS } from '../api/apiConfig';
import { TAxios } from '../api/TAxios';
import { types } from './actionTypes';
// IF-LGSPM-373 EMP Shoptime 선택 약관 조회
export const getShoptimeTerms = () => (dispatch, getState) => {
const onSuccess = (response) => {
console.log("getShoptimeTerms onSuccess ", response.data);
dispatch({
type: types.GET_SHOPTIME_TERMS,
payload: response.data.data,
});
};
const onFail = (error) => {
console.error("getShoptimeTerms onFail ", error);
};
TAxios(
dispatch,
getState,
"get",
URLS.GET_SHOPTIME_TERMS,
{},
{},
onSuccess,
onFail
);
};

View File

@@ -125,6 +125,9 @@ export const URLS = {
UPDATE_ORDER_PARTIAL_CANCEL: "/lgsp/v1/myinfo/order/orderPartialCancel.lge", UPDATE_ORDER_PARTIAL_CANCEL: "/lgsp/v1/myinfo/order/orderPartialCancel.lge",
PAYMENT_TOTAL_CANCEL: "/lgsp/v1/myinfo/order/paymentTotalCancel.lge", PAYMENT_TOTAL_CANCEL: "/lgsp/v1/myinfo/order/paymentTotalCancel.lge",
// emp controller
GET_SHOPTIME_TERMS: "/lgsp/m/v1/emp/shoptime/terms.lge",
// IF-LGSP-LOG-001 log live controller // IF-LGSP-LOG-001 log live controller
LOG_LIVE: "/lgsp/v1/log/live.lge", LOG_LIVE: "/lgsp/v1/log/live.lge",

View File

@@ -4,41 +4,50 @@ import React, {
useMemo, useMemo,
useRef, useRef,
useState, useState,
} from "react"; } from 'react';
import classNames from "classnames"; import classNames from 'classnames';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
//아이콘 //아이콘
import { Job } from "@enact/core/util"; import { Job } from '@enact/core/util';
//enact //enact
import Skinnable from "@enact/sandstone/Skinnable"; import Skinnable from '@enact/sandstone/Skinnable';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
import { Cancelable } from "@enact/ui/Cancelable"; from '@enact/spotlight/SpotlightContainerDecorator';
import { Cancelable } from '@enact/ui/Cancelable';
//이미지 //이미지
import shoptimeFullIcon from "../../../assets/images/icons/ic-lnb-logo-shoptime@3x.png"; import shoptimeFullIcon
import { gnbOpened } from "../../actions/commonActions"; from '../../../assets/images/icons/ic-lnb-logo-shoptime@3x.png';
import { updateSpotlightId } from "../../actions/homeActions"; import { gnbOpened } from '../../actions/commonActions';
import { resetPanels } from "../../actions/panelActions"; import { updateSpotlightId } from '../../actions/homeActions';
import useLogService from "../../hooks/useLogService"; import { resetPanels } from '../../actions/panelActions';
import useScrollTo from "../../hooks/useScrollTo"; import useLogService from '../../hooks/useLogService';
import { LOG_MENU, LOG_TP_NO, panel_names } from "../../utils/Config"; import useScrollTo from '../../hooks/useScrollTo';
import { formatGMTString } from "../../utils/helperMethods"; import {
import { SpotlightIds } from "../../utils/SpotlightIds"; LOG_MENU,
import TScroller from "../TScroller/TScroller"; LOG_TP_NO,
import CategoryIcon from "./iconComponents/CategoryIcon"; panel_names,
import FeaturedBrandIcon from "./iconComponents/FeaturedBrandIcon"; } from '../../utils/Config';
import HomeIcon from "./iconComponents/HomeIcon"; import { formatGMTString } from '../../utils/helperMethods';
import HotPicksIcon from "./iconComponents/HotPicksIcon"; import { SpotlightIds } from '../../utils/SpotlightIds';
import MyPageIcon from "./iconComponents/MyPageIcon"; import TScroller from '../TScroller/TScroller';
import OnSaleIcon from "./iconComponents/OnSaleIcon"; import CategoryIcon from './iconComponents/CategoryIcon';
import SearchIcon from "./iconComponents/SearchIcon"; import FeaturedBrandIcon from './iconComponents/FeaturedBrandIcon';
import TrendingNowIcon from "./iconComponents/TrendingNowIcon"; import HomeIcon from './iconComponents/HomeIcon';
import TabItem from "./TabItem"; import HotPicksIcon from './iconComponents/HotPicksIcon';
import TabItemSub from "./TabItemSub"; import MyPageIcon from './iconComponents/MyPageIcon';
import css from "./TabLayout.module.less"; import OnSaleIcon from './iconComponents/OnSaleIcon';
import SearchIcon from './iconComponents/SearchIcon';
import TrendingNowIcon from './iconComponents/TrendingNowIcon';
import TabItem from './TabItem';
import TabItemSub from './TabItemSub';
import css from './TabLayout.module.less';
const Container = SpotlightContainerDecorator( const Container = SpotlightContainerDecorator(
{ enterTo: "default-element", preserveId: true }, { enterTo: "default-element", preserveId: true },
@@ -257,7 +266,7 @@ export default function TabLayout({ topPanelName, onTabActivated, panelInfo }) {
], ],
})) }))
.filter((item) => { .filter((item) => {
if (loginUserData.userInfo === null) { if (loginUserData.userNumber === null) {
return item.title !== "My Orders"; return item.title !== "My Orders";
} }
return true; return true;

View File

@@ -74,44 +74,43 @@ export const getLoginUserData = (
} }
} else { } else {
onSuccess({ onSuccess({
"subscribed": false, subscribed: false,
"returnValue": true, returnValue: true,
"multipleLoginUserData": [ multipleLoginUserData: [],
], id: "twin@t-win.kr",
"id": "twin@t-win.kr", inactiveID: "",
"inactiveID": "", lastSignInUserNo: "US2210240095608",
"lastSignInUserNo": "US2210240095608", userData: {
"userData": { sdpUserNumber: "80995804",
"sdpUserNumber": "80995804", needToSetNickname: false,
"needToSetNickname": false, adultAuthStatus: "needAge",
"adultAuthStatus": "needAge", serverId: "twin@t-win.kr",
"serverId": "twin@t-win.kr", countryCode: "US",
"countryCode": "US", userNumber: "US2210240095608",
"userNumber": "US2210240095608", defaultNick: false,
"defaultNick": false, isRequiredTerm: false,
"isRequiredTerm": false, id: "twin@t-win.kr",
"id": "twin@t-win.kr", userID: "twin@t-win.kr",
"userID": "twin@t-win.kr", serviceList: [
"serviceList": [ {
{ svcName: "LG Smart World(TV)",
"svcName": "LG Smart World(TV)", svcCode: "SVC301",
"svcCode": "SVC301", joinDate: "02-13-2024",
"joinDate": "02-13-2024", isService: "Y",
"isService": "Y" },
}, {
{ svcName: "MC OAuth",
"svcName": "MC OAuth", svcCode: "SVC710",
"svcCode": "SVC710", joinDate: "02-13-2024",
"joinDate": "02-13-2024", isService: "Y",
"isService": "Y" },
} ],
], profileNick: "LGEUSER0",
"profileNick": "LGEUSER0", iconNick: "L",
"iconNick": "L", needToCheckTerms: false,
"needToCheckTerms": false, accountType: "LGE",
"accountType": "LGE", profileBg: "#7360E7",
"profileBg": "#7360E7" },
}
}); });
} }
}; };
@@ -136,7 +135,7 @@ export const logoutAccount = (
} }
} else { } else {
onSuccess({ onSuccess({
useId: null, userId: null,
userInfo: null, userInfo: null,
email: null, email: null,
returnValue: true, returnValue: true,

View File

@@ -1,4 +1,4 @@
import { types } from "../actions/actionTypes"; import { types } from '../actions/actionTypes';
const initialState = { const initialState = {
appStatus: { appStatus: {
@@ -12,7 +12,7 @@ const initialState = {
loginUserData: {}, loginUserData: {},
toast: false, toast: false,
toastText: null, toastText: null,
captionEnable: false captionEnable: false,
}, },
httpHeader: null, httpHeader: null,
isGnbOpened: false, isGnbOpened: false,
@@ -78,13 +78,15 @@ export const commonReducer = (state = initialState, action) => {
...state, ...state,
httpHeader: action.payload, httpHeader: action.payload,
}; };
case types.GET_LOGIN_USER_DATA:{
const userInfo = action.payload?.userData?.userNumber ? action.payload.userData.userNumber: action.payload?.userInfo; case types.GET_LOGIN_USER_DATA: {
const userData = action.payload?.userData;
return { return {
...state, ...state,
appStatus: { appStatus: {
...state.appStatus, ...state.appStatus,
loginUserData: {userInfo}, loginUserData: { ...userData },
}, },
}; };
} }

View File

@@ -0,0 +1,18 @@
import { types } from '../actions/actionTypes';
const initialState = {
empTermsData: {},
};
export const empReducer = (state = initialState, action) => {
switch (action.type) {
case types.GET_SHOPTIME_TERMS:
return {
...state,
empTermsData: action.payload,
};
default:
return state;
}
};

View File

@@ -14,6 +14,7 @@ import {
getTaxInfos, getTaxInfos,
} from '../../actions/checkoutActions'; } from '../../actions/checkoutActions';
import { changeAppStatus } from '../../actions/commonActions'; import { changeAppStatus } from '../../actions/commonActions';
import { getShoptimeTerms } from '../../actions/empActions';
import { popPanel } from '../../actions/panelActions'; import { popPanel } from '../../actions/panelActions';
import TBody from '../../components/TBody/TBody'; import TBody from '../../components/TBody/TBody';
import THeader from '../../components/THeader/THeader'; import THeader from '../../components/THeader/THeader';
@@ -31,7 +32,7 @@ import SummaryContainer from './container/SummaryCotainer';
export default function CheckOutPanel() { export default function CheckOutPanel() {
const dispatch = useDispatch(); const dispatch = useDispatch();
const panels = useSelector((state) => state.panels.panels); const panels = useSelector((state) => state.panels.panels);
const { userInfo } = useSelector( const { userNumber } = useSelector(
(state) => state.common.appStatus.loginUserData (state) => state.common.appStatus.loginUserData
); );
const checkoutPanelInfo = panels.find( const checkoutPanelInfo = panels.find(
@@ -46,13 +47,12 @@ export default function CheckOutPanel() {
const [orderSideBarOpen, setOrderSideBarOpen] = useState(false); const [orderSideBarOpen, setOrderSideBarOpen] = useState(false);
const [offerSideBarOpen, setOfferSideBarOpen] = useState(false); const [offerSideBarOpen, setOfferSideBarOpen] = useState(false);
console.log("chw", infoForCheckoutData);
console.log("chw", productData);
useEffect(() => { useEffect(() => {
dispatch(getShoptimeTerms());
dispatch( dispatch(
getMyInfoCheckoutInfo({ getMyInfoCheckoutInfo({
mbrNo: userInfo, mbrNo: userNumber,
dirPurcSelYn: "Y", dirPurcSelYn: "Y",
cartList: [ cartList: [
{ {
@@ -69,7 +69,7 @@ export default function CheckOutPanel() {
useEffect(() => { useEffect(() => {
dispatch( dispatch(
getTaxInfos({ getTaxInfos({
mbrNo: userInfo, mbrNo: userNumber,
bilAddrSno: infoForCheckoutData?.bilAddrSno, bilAddrSno: infoForCheckoutData?.bilAddrSno,
dlvrAddrSno: infoForCheckoutData?.dlvrAddrSno, dlvrAddrSno: infoForCheckoutData?.dlvrAddrSno,
reqCheckoutTaxInfoItemList: [ reqCheckoutTaxInfoItemList: [
@@ -114,7 +114,7 @@ export default function CheckOutPanel() {
onClick={onBackClick} onClick={onBackClick}
/> />
<div className={css.Wrap}> <div className={css.Wrap}>
<SummaryContainer userInfo={userInfo} /> <SummaryContainer userInfo={userNumber} />
<InformationContainer <InformationContainer
toggleOrderSideBar={toggleOrderSideBar} toggleOrderSideBar={toggleOrderSideBar}
toggleOfferSideBar={toggleOfferSideBar} toggleOfferSideBar={toggleOfferSideBar}

View File

@@ -28,10 +28,6 @@ export default function FixedSideBar({ closeSideBar }) {
</div> </div>
<div className={css.sideCoupon}> <div className={css.sideCoupon}>
<div className={css.right}>COUPON</div> <div className={css.right}>COUPON</div>
<div className={css.left}>
{$L("Maximum Benefit")}
<TCheckBox onToggle={true} />
</div>
</div> </div>
<div className={classNames(css.sideItemList, css.hasCoupon)}> <div className={classNames(css.sideItemList, css.hasCoupon)}>

View File

@@ -19,8 +19,6 @@ export default function OrderItemsSideBar({ closeSideBar }) {
(state) => state.checkout?.checkoutData?.productList (state) => state.checkout?.checkoutData?.productList
); );
console.log("chw", orderItemList);
const renderItem = useCallback( const renderItem = useCallback(
({ index, ...rest }) => { ({ index, ...rest }) => {
const item = orderItemList[index]; const item = orderItemList[index];

View File

@@ -26,6 +26,17 @@ const Container = SpotlightContainerDecorator(
"div" "div"
); );
const DEFAULT_SUMMARY = {
itemPrice: "0",
shPrice: "0",
couponPrice: "0",
itemsTotal: "0",
taxTotal: "0",
itemsTaxTotal: "0",
currSign: "",
currSignLoc: "",
};
export default function SummaryContainer({ userInfo }) { export default function SummaryContainer({ userInfo }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
@@ -33,11 +44,9 @@ export default function SummaryContainer({ userInfo }) {
const termsData = useSelector((state) => state.home.termsData); const termsData = useSelector((state) => state.home.termsData);
const taxInfosData = useSelector((state) => state.checkout?.taxInfosData); const taxInfosData = useSelector((state) => state.checkout?.taxInfosData);
console.log("chw", taxInfosData);
const checkoutTermsData = useMemo( const checkoutTermsData = useMemo(
() => () =>
termsData?.data?.terms (termsData?.data?.terms || [])
.filter( .filter(
(item) => item.trmsTpCd === "MST00403" || item.trmsTpCd === "MST00404" (item) => item.trmsTpCd === "MST00403" || item.trmsTpCd === "MST00404"
) )
@@ -51,20 +60,11 @@ export default function SummaryContainer({ userInfo }) {
[termsData] [termsData]
); );
const [summary, setSummary] = useState({ const [summary, setSummary] = useState(DEFAULT_SUMMARY);
itemPrice: "0",
shPrice: "0",
couponPrice: "0",
itemsTotal: "0",
taxTotal: "0",
itemsTaxTotal: "0",
currSign: "",
currSignLoc: "",
});
const itemSetting = useCallback( const itemSetting = useCallback(
(productList) => { (productList) => {
if (!productList || productList.length === 0) return; if (!productList?.length) return;
let itemCnt = 0; // 상품 함계 let itemCnt = 0; // 상품 함계
let shCnt = 0; // 배송비 합계 let shCnt = 0; // 배송비 합계
@@ -77,10 +77,9 @@ export default function SummaryContainer({ userInfo }) {
productList.forEach((info) => { productList.forEach((info) => {
const itemPrice = info.price3 || info.price2; const itemPrice = info.price3 || info.price2;
itemCnt += itemPrice * parseInt(info.prodQty, 10); itemCnt += itemPrice * parseInt(info.prodQty, 10);
shCnt += parseFloat(info.shippingCharge || 0); shCnt += parseFloat(info.shippingCharge || 0);
if (info.prdtCoupon && info.prdtCoupon.length > 0) { if (info.prdtCoupon?.length) {
couponCnt += info.prdtCoupon.reduce( couponCnt += info.prdtCoupon.reduce(
(acc, coupon) => acc + parseFloat(coupon.discountAmount || 0), (acc, coupon) => acc + parseFloat(coupon.discountAmount || 0),
0 0
@@ -88,19 +87,8 @@ export default function SummaryContainer({ userInfo }) {
} }
}); });
if ( shCnt = taxInfosData.totDlvrAmt ?? shCnt;
taxInfosData.totDlvrAmt !== null && taxCnt = taxInfosData.billing?.taxTotAmt ?? taxCnt;
taxInfosData.totDlvrAmt !== undefined
) {
shCnt = taxInfosData.totDlvrAmt;
}
if (
taxInfosData.billing?.taxTotAmt !== null &&
taxInfosData.billing?.taxTotAmt !== undefined
) {
taxCnt = taxInfosData.billing.taxTotAmt;
}
itemsTotal = itemCnt + shCnt; itemsTotal = itemCnt + shCnt;
itemsTaxTotal = itemsTotal + taxCnt; itemsTaxTotal = itemsTotal + taxCnt;
@@ -118,14 +106,12 @@ export default function SummaryContainer({ userInfo }) {
currSign: productList[0]?.currSign || "", currSign: productList[0]?.currSign || "",
currSignLoc: productList[0]?.currSignLoc || "", currSignLoc: productList[0]?.currSignLoc || "",
})); }));
console.log("chw", summary);
}, },
[taxInfosData] [taxInfosData]
); );
useEffect(() => { useEffect(() => {
if (productList && productList.length > 0) { if (productList?.length) {
itemSetting(productList); itemSetting(productList);
} }
}, [productList, itemSetting]); }, [productList, itemSetting]);

View File

@@ -1,30 +1,43 @@
import React, { useCallback, useEffect, useRef, useState } from "react"; import React, {
useCallback,
useEffect,
useRef,
useState,
} from 'react';
import classNames from "classnames"; import classNames from 'classnames';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
import Spottable from "@enact/spotlight/Spottable"; from '@enact/spotlight/SpotlightContainerDecorator';
import Spottable from '@enact/spotlight/Spottable';
import { setHidePopup, setShowPopup } from "../../../actions/commonActions"; import {
setHidePopup,
setShowPopup,
} from '../../../actions/commonActions';
import { import {
getProductCouponDownload, getProductCouponDownload,
getProductCouponSearch, getProductCouponSearch,
getProductCouponTotDownload, getProductCouponTotDownload,
} from "../../../actions/couponActions"; } from '../../../actions/couponActions';
import { pushPanel } from "../../../actions/panelActions"; import { pushPanel } from '../../../actions/panelActions';
import { getProductOption } from "../../../actions/productActions"; import { getProductOption } from '../../../actions/productActions';
import TButton from "../../../components/TButton/TButton"; import TButton from '../../../components/TButton/TButton';
import TPopUp from "../../../components/TPopUp/TPopUp"; import TPopUp from '../../../components/TPopUp/TPopUp';
import TQRCode from "../../../components/TQRCode/TQRCode"; import TQRCode from '../../../components/TQRCode/TQRCode';
import TScroller from "../../../components/TScroller/TScroller"; import TScroller from '../../../components/TScroller/TScroller';
import TVirtualGridList from "../../../components/TVirtualGridList/TVirtualGridList"; import TVirtualGridList
import usePriceInfo from "../../../hooks/usePriceInfo"; from '../../../components/TVirtualGridList/TVirtualGridList';
import * as Config from "../../../utils/Config"; import usePriceInfo from '../../../hooks/usePriceInfo';
import { $L } from "../../../utils/helperMethods"; import * as Config from '../../../utils/Config';
import FavoriteBtn from "../components/FavoriteBtn"; import { $L } from '../../../utils/helperMethods';
import css from "./SingleOption.module.less"; import FavoriteBtn from '../components/FavoriteBtn';
import css from './SingleOption.module.less';
const Container = SpotlightContainerDecorator( const Container = SpotlightContainerDecorator(
{ enterTo: "default-element" }, { enterTo: "default-element" },
@@ -50,7 +63,7 @@ export default function SingleOption({
const { popupVisible, activePopup } = useSelector( const { popupVisible, activePopup } = useSelector(
(state) => state.common.popup (state) => state.common.popup
); );
const { userInfo } = useSelector( const { userNumber } = useSelector(
(state) => state.common.appStatus.loginUserData (state) => state.common.appStatus.loginUserData
); );
@@ -96,7 +109,7 @@ export default function SingleOption({
getProductCouponSearch({ getProductCouponSearch({
patnrId: selectedPatnrId, patnrId: selectedPatnrId,
prdtId: selectedPrdtId, prdtId: selectedPrdtId,
mbrNo: userInfo, mbrNo: userNumber,
}) })
); );
}, [dispatch, selectedPatnrId, selectedPrdtId, productData]); }, [dispatch, selectedPatnrId, selectedPrdtId, productData]);
@@ -167,7 +180,7 @@ export default function SingleOption({
}, [activePopup, selectedBtnOptIdx, selectedOptionItemIndex]); }, [activePopup, selectedBtnOptIdx, selectedOptionItemIndex]);
const handleLoginPopup = useCallback(() => { const handleLoginPopup = useCallback(() => {
if (!loginUserData.userInfo) { if (!loginUserData.userNumber) {
dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup)); dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup));
} else { } else {
dispatch( dispatch(
@@ -188,7 +201,7 @@ export default function SingleOption({
const handleCouponClick = useCallback( const handleCouponClick = useCallback(
(idx, promotion) => { (idx, promotion) => {
if (!loginUserData.userInfo) { if (!loginUserData.userNumber) {
dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup)); dispatch(setShowPopup(Config.ACTIVE_POPUP.loginPopup));
return; return;
} else if (promotion === "SPECIAL PROMOTION") { } else if (promotion === "SPECIAL PROMOTION") {
@@ -203,17 +216,20 @@ export default function SingleOption({
); );
const handleCouponTotDownload = useCallback(() => { const handleCouponTotDownload = useCallback(() => {
if (selectedCoupon && userInfo) { if (selectedCoupon && userNumber) {
const couponCodesArray = couponCodes const couponCodesArray = couponCodes
.split(",") .split(",")
.map((code) => parseInt(code.trim())); .map((code) => parseInt(code.trim()));
setDownloadCouponArr((prevArr) => [...prevArr, ...couponCodesArray]); setDownloadCouponArr((prevArr) => [...prevArr, ...couponCodesArray]);
dispatch( dispatch(
getProductCouponTotDownload({ mbrNo: userInfo, cpnSnoAll: couponCodes }) getProductCouponTotDownload({
mbrNo: userNumber,
cpnSnoAll: couponCodes,
})
); );
} }
}, [dispatch, selectedCoupon, userInfo, couponCodes]); }, [dispatch, selectedCoupon, userNumber, couponCodes]);
const onClose = useCallback(() => { const onClose = useCallback(() => {
Spotlight.focus("tbody"); Spotlight.focus("tbody");
@@ -320,7 +336,9 @@ export default function SingleOption({
return; return;
} }
setDownloadCouponArr((prevArr) => [...prevArr, cpnSno]); setDownloadCouponArr((prevArr) => [...prevArr, cpnSno]);
dispatch(getProductCouponDownload({ mbrNo: userInfo, cpnSno: cpnSno })); dispatch(
getProductCouponDownload({ mbrNo: userNumber, cpnSno: cpnSno })
);
}; };
return ( return (

View File

@@ -1,14 +1,24 @@
import React, { useCallback, useEffect, useState } from "react"; import React, {
useCallback,
useEffect,
useState,
} from 'react';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import { setHidePopup, setShowPopup } from "../../../actions/commonActions"; import {
import { getEventIssuedStaus } from "../../../actions/eventActions"; setHidePopup,
import MobileSendPopUp from "../../../components/MobileSend/MobileSendPopUp"; setShowPopup,
import TPopUp from "../../../components/TPopUp/TPopUp"; } from '../../../actions/commonActions';
import { ACTIVE_POPUP } from "../../../utils/Config"; import { getEventIssuedStaus } from '../../../actions/eventActions';
import { $L } from "../../../utils/helperMethods"; import MobileSendPopUp from '../../../components/MobileSend/MobileSendPopUp';
import css from "../EventPopUpBanner/EventPopUpBanner.module.less"; import TPopUp from '../../../components/TPopUp/TPopUp';
import { ACTIVE_POPUP } from '../../../utils/Config';
import { $L } from '../../../utils/helperMethods';
import css from '../EventPopUpBanner/EventPopUpBanner.module.less';
export default function EventPopUpBanner({ open = true }) { export default function EventPopUpBanner({ open = true }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
@@ -51,7 +61,7 @@ export default function EventPopUpBanner({ open = true }) {
case "EVT00106": case "EVT00106":
console.log("Direct Coupon"); console.log("Direct Coupon");
if (!loginUserData.userInfo) { if (!loginUserData.userNumber) {
dispatch(setShowPopup(ACTIVE_POPUP.loginPopup)); dispatch(setShowPopup(ACTIVE_POPUP.loginPopup));
} else { } else {
console.log("Direct Coupon"); console.log("Direct Coupon");

View File

@@ -1,45 +1,57 @@
import React, { useCallback, useEffect, useRef, useState } from "react"; import React, {
useCallback,
useEffect,
useRef,
useState,
} from 'react';
import classNames from "classnames"; import classNames from 'classnames';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import { Job } from "@enact/core/util"; import { Job } from '@enact/core/util';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
import Spottable from "@enact/spotlight/Spottable"; from '@enact/spotlight/SpotlightContainerDecorator';
import Spottable from '@enact/spotlight/Spottable';
import { import {
alertToast, alertToast,
setHidePopup, setHidePopup,
setShowPopup, setShowPopup,
} from "../../actions/commonActions"; } from '../../actions/commonActions';
import { getProductCouponDownload } from "../../actions/couponActions"; import { getProductCouponDownload } from '../../actions/couponActions';
import { getThemeCurationInfo } from "../../actions/homeActions"; import { getThemeCurationInfo } from '../../actions/homeActions';
import { import {
pushPanel, pushPanel,
resetPanels, resetPanels,
updatePanel, updatePanel,
} from "../../actions/panelActions"; } from '../../actions/panelActions';
import { startVideoPlayer } from "../../actions/playActions"; import { startVideoPlayer } from '../../actions/playActions';
import MobileSendPopUp from "../../components/MobileSend/MobileSendPopUp"; import MobileSendPopUp from '../../components/MobileSend/MobileSendPopUp';
import TBody from "../../components/TBody/TBody"; import TBody from '../../components/TBody/TBody';
import TPanel from "../../components/TPanel/TPanel"; import TPanel from '../../components/TPanel/TPanel';
import useLogService from "../../hooks/useLogService"; import useLogService from '../../hooks/useLogService';
import usePrevious from "../../hooks/usePrevious"; import usePrevious from '../../hooks/usePrevious';
import useScrollTo from "../../hooks/useScrollTo"; import useScrollTo from '../../hooks/useScrollTo';
import * as Config from "../../utils/Config"; import * as Config from '../../utils/Config';
import { LOG_TP_NO, panel_names } from "../../utils/Config"; import {
import { $L } from "../../utils/helperMethods"; LOG_TP_NO,
import css from "./HotPicks.module.less"; panel_names,
import TCFI from "./Type/TCFI/TCFI"; } from '../../utils/Config';
import TCFI_2 from "./Type/TCFI_2/TCFI_2"; import { $L } from '../../utils/helperMethods';
import TCFI_3 from "./Type/TCFI_3/TCFI_3"; import css from './HotPicks.module.less';
import TCFI_4 from "./Type/TCFI_4/TCFI_4"; import TCFI from './Type/TCFI/TCFI';
import TCFV from "./Type/TCFV/TCFV"; import TCFI_2 from './Type/TCFI_2/TCFI_2';
import TCFV_2 from "./Type/TCFV_2/TCFV_2"; import TCFI_3 from './Type/TCFI_3/TCFI_3';
import TCFV_3 from "./Type/TCFV_3/TCFV_3"; import TCFI_4 from './Type/TCFI_4/TCFI_4';
import TCFV_4 from "./Type/TCFV_4/TCFV_4"; import TCFV from './Type/TCFV/TCFV';
import TCHH from "./Type/TCHH/TCHH"; import TCFV_2 from './Type/TCFV_2/TCFV_2';
import TCFV_3 from './Type/TCFV_3/TCFV_3';
import TCFV_4 from './Type/TCFV_4/TCFV_4';
import TCHH from './Type/TCHH/TCHH';
const SpottableComponent = Spottable("button"); const SpottableComponent = Spottable("button");
@@ -65,8 +77,8 @@ export default function HotPicksPanel({ panelInfo }) {
const { popupVisible, activePopup } = useSelector( const { popupVisible, activePopup } = useSelector(
(state) => state.common.popup (state) => state.common.popup
); );
const userInfo = useSelector( const userNumber = useSelector(
(state) => state.common?.appStatus.loginUserData.userInfo (state) => state.common?.appStatus.loginUserData.userNumber
); );
const [movingPage, setMovingPage] = useState(false); const [movingPage, setMovingPage] = useState(false);
@@ -219,7 +231,7 @@ export default function HotPicksPanel({ panelInfo }) {
if (evntTpCd === "EVT00107") { if (evntTpCd === "EVT00107") {
dispatch( dispatch(
getProductCouponDownload({ getProductCouponDownload({
mbrNo: userInfo, mbrNo: userNumber,
cpnSno: eventInfoV2.billCpnSno, cpnSno: eventInfoV2.billCpnSno,
}) })
); );

View File

@@ -1,37 +1,52 @@
import React, { useCallback, useEffect, useRef, useState } from "react"; import React, {
useCallback,
useEffect,
useRef,
useState,
} from 'react';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
from '@enact/spotlight/SpotlightContainerDecorator';
import ic_profile from "../../../../../assets/images/icons/ic-profile.svg"; import ic_profile from '../../../../../assets/images/icons/ic-profile.svg';
import myinfo_login from "../../../../../assets/images/img-banner-myinfo-login@3x.png"; import myinfo_login
import { getMyInfoBillingSearch } from "../../../../actions/billingActions"; from '../../../../../assets/images/img-banner-myinfo-login@3x.png';
import { getMyInfoCardSearch } from "../../../../actions/cardActions"; import { getMyInfoBillingSearch } from '../../../../actions/billingActions';
import { getMyInfoCardSearch } from '../../../../actions/cardActions';
import { import {
launchMembershipApp, launchMembershipApp,
logoutAccount, logoutAccount,
setHidePopup, setHidePopup,
setShowPopup, setShowPopup,
} from "../../../../actions/commonActions"; } from '../../../../actions/commonActions';
import { getProductCouponInfo } from "../../../../actions/couponActions"; import { getProductCouponInfo } from '../../../../actions/couponActions';
import { getMyInfoShippingSearch } from "../../../../actions/shippingActions"; import { getMyInfoShippingSearch } from '../../../../actions/shippingActions';
import TBody from "../../../../components/TBody/TBody"; import TBody from '../../../../components/TBody/TBody';
import TButton, { SIZES, TYPES } from "../../../../components/TButton/TButton"; import TButton, {
SIZES,
TYPES,
} from '../../../../components/TButton/TButton';
import TButtonTab, { import TButtonTab, {
LIST_TYPE, LIST_TYPE,
} from "../../../../components/TButtonTab/TButtonTab"; } from '../../../../components/TButtonTab/TButtonTab';
import THeader from "../../../../components/THeader/THeader"; import THeader from '../../../../components/THeader/THeader';
import TPopUp from "../../../../components/TPopUp/TPopUp"; import TPopUp from '../../../../components/TPopUp/TPopUp';
import TQRCode from "../../../../components/TQRCode/TQRCode"; import TQRCode from '../../../../components/TQRCode/TQRCode';
import * as Config from "../../../../utils/Config"; import * as Config from '../../../../utils/Config';
import { $L } from "../../../../utils/helperMethods"; import { $L } from '../../../../utils/helperMethods';
import css from "../MyInfo/MyInfo.module.less"; import css from '../MyInfo/MyInfo.module.less';
import BillingAddressTab from "./MyInfoTabContents/BillingAddressTab/BillingAddressTab"; import BillingAddressTab
import CouponTab from "./MyInfoTabContents/CouponTab/CouponTab"; from './MyInfoTabContents/BillingAddressTab/BillingAddressTab';
import PaymentTab from "./MyInfoTabContents/PaymentTab/PaymentTab"; import CouponTab from './MyInfoTabContents/CouponTab/CouponTab';
import ShippingAddressTab from "./MyInfoTabContents/ShippingAddressTab/ShippingAddressTab"; import PaymentTab from './MyInfoTabContents/PaymentTab/PaymentTab';
import ShippingAddressTab
from './MyInfoTabContents/ShippingAddressTab/ShippingAddressTab';
const TabContainer = SpotlightContainerDecorator( const TabContainer = SpotlightContainerDecorator(
{ enterTo: "last-focused" }, { enterTo: "last-focused" },
@@ -63,7 +78,7 @@ export default function MyInfo({ title, cbScrollTo }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
const { userId, userInfo, email } = useSelector( const { id, userNumber, userID } = useSelector(
(state) => state.common.appStatus.loginUserData (state) => state.common.appStatus.loginUserData
); );
const { popupVisible, activePopup } = useSelector( const { popupVisible, activePopup } = useSelector(
@@ -97,13 +112,13 @@ export default function MyInfo({ title, cbScrollTo }) {
useEffect(() => { useEffect(() => {
setTab(panelInfos.panelInfo.menuOrd ? panelInfos.panelInfo.menuOrd : 0); setTab(panelInfos.panelInfo.menuOrd ? panelInfos.panelInfo.menuOrd : 0);
if (userInfo) { if (userNumber) {
dispatch(getMyInfoCardSearch({ mbrNo: userInfo })); dispatch(getMyInfoCardSearch({ mbrNo: userNumber }));
dispatch(getMyInfoBillingSearch({ mbrNo: userInfo })); dispatch(getMyInfoBillingSearch({ mbrNo: userNumber }));
dispatch(getMyInfoShippingSearch({ mbrNo: userInfo })); dispatch(getMyInfoShippingSearch({ mbrNo: userNumber }));
dispatch(getProductCouponInfo({ mbrNo: userInfo })); dispatch(getProductCouponInfo({ mbrNo: userNumber }));
} }
}, [userInfo, dispatch, panelInfos]); }, [userNumber, dispatch, panelInfos]);
const handleItemClick = useCallback( const handleItemClick = useCallback(
({ index }) => { ({ index }) => {
@@ -115,7 +130,7 @@ export default function MyInfo({ title, cbScrollTo }) {
); );
useEffect(() => { useEffect(() => {
if (userInfo) { if (userNumber) {
const initFoucsedItem = document.querySelector( const initFoucsedItem = document.querySelector(
'[data-spotlight-id="tab-0"]' '[data-spotlight-id="tab-0"]'
); );
@@ -128,7 +143,7 @@ export default function MyInfo({ title, cbScrollTo }) {
Spotlight.focus("mypage-login-button"); Spotlight.focus("mypage-login-button");
}, 0); }, 0);
} }
}, [userInfo]); }, [userNumber]);
useEffect(() => { useEffect(() => {
return () => { return () => {
@@ -171,17 +186,17 @@ export default function MyInfo({ title, cbScrollTo }) {
<div className={css.infoTopBox}> <div className={css.infoTopBox}>
<img src={ic_profile} className={css.profileImg} /> <img src={ic_profile} className={css.profileImg} />
<div className={css.textBox}> <div className={css.textBox}>
{userInfo {userNumber
? $L("Hi, {userId}").replace("{userId}", userId) ? $L("Hi, {userId}").replace("{userId}", id)
: $L("Please log in to use your LG Shoptime.")} : $L("Please log in to use your LG Shoptime.")}
</div> </div>
</div> </div>
<div className={css.infoBottomBox}> <div className={css.infoBottomBox}>
<div className={css.emailBox}> <div className={css.emailBox}>
<div className={css.email}>Email</div> <div className={css.email}>Email</div>
<div className={css.email}>{userInfo ? email : "-"}</div> <div className={css.email}>{userNumber ? userID : "-"}</div>
</div> </div>
{userInfo ? ( {userNumber ? (
<TButton <TButton
type={TYPES.normal} type={TYPES.normal}
className={css.logoutButton} className={css.logoutButton}
@@ -201,7 +216,7 @@ export default function MyInfo({ title, cbScrollTo }) {
)} )}
</div> </div>
</div> </div>
{userInfo ? ( {userNumber ? (
<> <>
{buttonTabList && buttonTabList.length > 0 && ( {buttonTabList && buttonTabList.length > 0 && (
<TabContainer className={css.tabContainer}> <TabContainer className={css.tabContainer}>

View File

@@ -1,10 +1,19 @@
import React, { useCallback, useEffect, useRef, useState } from "react"; import React, {
useCallback,
useEffect,
useRef,
useState,
} from 'react';
import classNames from "classnames"; import classNames from 'classnames';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
from '@enact/spotlight/SpotlightContainerDecorator';
// getMyinfoOrderCancelColumnsSearch : 회원 주문 취소/반품/교환 사유 조회 // getMyinfoOrderCancelColumnsSearch : 회원 주문 취소/반품/교환 사유 조회
// getMyinfoOrderCancelSearch : 회원 주문 취소/반품/교환 조회 - 디테일 // getMyinfoOrderCancelSearch : 회원 주문 취소/반품/교환 조회 - 디테일
@@ -15,7 +24,7 @@ import {
getMyinfoOrderCancelSearch, getMyinfoOrderCancelSearch,
paymentTotalCancel, paymentTotalCancel,
updateOrderPartialCancel, updateOrderPartialCancel,
} from "../../../../actions/cancelActions"; } from '../../../../actions/cancelActions';
// getMyinfoOrderSearch : 회원 주문 정보 조회 // getMyinfoOrderSearch : 회원 주문 정보 조회
// getMyinfoOrderDetailSearch : 회원 주문 상세 정보 조회 - 디테일 // getMyinfoOrderDetailSearch : 회원 주문 상세 정보 조회 - 디테일
// getMyinfoOrderShippingSearch : 회원 주문 배송 상세 정보 조회 // getMyinfoOrderShippingSearch : 회원 주문 배송 상세 정보 조회
@@ -23,21 +32,22 @@ import {
getMyinfoOrderDetailSearch, getMyinfoOrderDetailSearch,
getMyinfoOrderSearch, getMyinfoOrderSearch,
getMyinfoOrderShippingSearch, getMyinfoOrderShippingSearch,
} from "../../../../actions/orderActions"; } from '../../../../actions/orderActions';
import TBody from "../../../../components/TBody/TBody"; import TBody from '../../../../components/TBody/TBody';
import TButtonScroller from "../../../../components/TButtonScroller/TButtonScroller"; import TButtonScroller
from '../../../../components/TButtonScroller/TButtonScroller';
import TButtonTab, { import TButtonTab, {
LIST_TYPE, LIST_TYPE,
} from "../../../../components/TButtonTab/TButtonTab"; } from '../../../../components/TButtonTab/TButtonTab';
import TDropDown from "../../../../components/TDropDown/TDropDown"; import TDropDown from '../../../../components/TDropDown/TDropDown';
import THeader from "../../../../components/THeader/THeader"; import THeader from '../../../../components/THeader/THeader';
import TPopUp from "../../../../components/TPopUp/TPopUp"; import TPopUp from '../../../../components/TPopUp/TPopUp';
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 "./MyOrders.module.less"; import css from './MyOrders.module.less';
import MyOrdersPopUp from "./MyOrdersPopUp"; import MyOrdersPopUp from './MyOrdersPopUp';
import CancelOrderList from "./OrderList/CancelOrderList"; import CancelOrderList from './OrderList/CancelOrderList';
import OrderList from "./OrderList/OrderList"; import OrderList from './OrderList/OrderList';
const TabContainer = SpotlightContainerDecorator( const TabContainer = SpotlightContainerDecorator(
{ enterTo: "last-focused" }, { enterTo: "last-focused" },
@@ -57,7 +67,7 @@ export default function MyOrders({ title, cbScrollTo }) {
const tabList = [$L("ORDERS"), $L("CANCELLED ORDERS")]; const tabList = [$L("ORDERS"), $L("CANCELLED ORDERS")];
const dispatch = useDispatch(); const dispatch = useDispatch();
const { userInfo } = useSelector( const { userNumber } = useSelector(
(state) => state.common.appStatus.loginUserData (state) => state.common.appStatus.loginUserData
); );
@@ -156,7 +166,7 @@ export default function MyOrders({ title, cbScrollTo }) {
timerRef.current = setTimeout(() => { timerRef.current = setTimeout(() => {
Spotlight.focus(initFoucsedItem); Spotlight.focus(initFoucsedItem);
}, 0); }, 0);
}, [userInfo]); }, [userNumber]);
useEffect(() => { useEffect(() => {
return () => { return () => {
@@ -169,11 +179,11 @@ export default function MyOrders({ title, cbScrollTo }) {
if ( if (
appStatus && appStatus &&
appStatus.loginUserData && appStatus.loginUserData &&
appStatus.loginUserData.userInfo appStatus.loginUserData.userNumber
) { ) {
dispatch( dispatch(
getMyinfoOrderSearch({ getMyinfoOrderSearch({
mbrNo: appStatus.loginUserData.userInfo, mbrNo: appStatus.loginUserData.userNumber,
srchMonth: dropDownTab === 0 ? 3 : 6, srchMonth: dropDownTab === 0 ? 3 : 6,
cancelOrderYn: "N", cancelOrderYn: "N",
}) })
@@ -186,11 +196,11 @@ export default function MyOrders({ title, cbScrollTo }) {
if ( if (
appStatus && appStatus &&
appStatus.loginUserData && appStatus.loginUserData &&
appStatus.loginUserData.userInfo appStatus.loginUserData.userNumber
) { ) {
dispatch( dispatch(
getMyinfoOrderSearch({ getMyinfoOrderSearch({
mbrNo: appStatus.loginUserData.userInfo, mbrNo: appStatus.loginUserData.userNumber,
srchMonth: dropDownTab === 0 ? 3 : 6, srchMonth: dropDownTab === 0 ? 3 : 6,
cancelOrderYn: "Y", cancelOrderYn: "Y",
}) })

View File

@@ -1,28 +1,40 @@
import React, { useCallback, useEffect, useMemo, useState } from "react"; import React, {
useCallback,
useEffect,
useMemo,
useState,
} from 'react';
import { useDispatch, useSelector } from "react-redux"; import {
useDispatch,
useSelector,
} from 'react-redux';
import Spotlight from "@enact/spotlight"; import Spotlight from '@enact/spotlight';
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; import SpotlightContainerDecorator
from '@enact/spotlight/SpotlightContainerDecorator';
import { import {
alertToast, alertToast,
launchMembershipApp, launchMembershipApp,
setHidePopup, setHidePopup,
setShowPopup, setShowPopup,
} from "../../actions/commonActions"; } from '../../actions/commonActions';
import { getProductCouponDownload } from "../../actions/couponActions"; import { getProductCouponDownload } from '../../actions/couponActions';
import { getWelcomeEventInfo } from "../../actions/eventActions"; import { getWelcomeEventInfo } from '../../actions/eventActions';
import { popPanel, pushPanel } from "../../actions/panelActions"; import {
import { startVideoPlayer } from "../../actions/playActions"; popPanel,
import MobileSendPopUp from "../../components/MobileSend/MobileSendPopUp"; pushPanel,
import TButton, { TYPES } from "../../components/TButton/TButton"; } from '../../actions/panelActions';
import TButtonScroller from "../../components/TButtonScroller/TButtonScroller"; import { startVideoPlayer } from '../../actions/playActions';
import TPanel from "../../components/TPanel/TPanel"; import MobileSendPopUp from '../../components/MobileSend/MobileSendPopUp';
import TPopUp from "../../components/TPopUp/TPopUp"; import TButton, { TYPES } from '../../components/TButton/TButton';
import * as Config from "../../utils/Config"; import TButtonScroller from '../../components/TButtonScroller/TButtonScroller';
import { $L } from "../../utils/helperMethods"; import TPanel from '../../components/TPanel/TPanel';
import css from "../WelcomeEventPanel/WelcomeEventPanel.module.less"; import TPopUp from '../../components/TPopUp/TPopUp';
import * as Config from '../../utils/Config';
import { $L } from '../../utils/helperMethods';
import css from '../WelcomeEventPanel/WelcomeEventPanel.module.less';
const Container = SpotlightContainerDecorator( const Container = SpotlightContainerDecorator(
{ enterTo: "last-focused" }, { enterTo: "last-focused" },
@@ -35,8 +47,8 @@ const WelcomeEventPanel = () => {
const { billCpnSno, shptmLnkInfo } = useSelector( const { billCpnSno, shptmLnkInfo } = useSelector(
(state) => state.event.eventData?.eventInfo (state) => state.event.eventData?.eventInfo
); );
const userInfo = useSelector( const userNumber = useSelector(
(state) => state.common?.appStatus.loginUserData.userInfo (state) => state.common?.appStatus.loginUserData.userNumber
); );
const { popupVisible, activePopup } = useSelector( const { popupVisible, activePopup } = useSelector(
(state) => state.common.popup (state) => state.common.popup
@@ -75,7 +87,7 @@ const WelcomeEventPanel = () => {
// 상품 쿠폰 다운로드 (IF-LGSP-318) // 상품 쿠폰 다운로드 (IF-LGSP-318)
dispatch( dispatch(
getProductCouponDownload({ getProductCouponDownload({
mbrNo: userInfo, mbrNo: userNumber,
cpnSno: billCpnSno, cpnSno: billCpnSno,
}) })
); );
@@ -83,7 +95,7 @@ const WelcomeEventPanel = () => {
} else { } else {
dispatch(setShowPopup(Config.ACTIVE_POPUP.smsPopup)); dispatch(setShowPopup(Config.ACTIVE_POPUP.smsPopup));
} }
}, [dispatch, evntTpCd, userInfo]); }, [dispatch, evntTpCd, userNumber]);
const onClose = useCallback(() => { const onClose = useCallback(() => {
dispatch(setHidePopup()); dispatch(setHidePopup());