Merge branch 'develop' of gitlab.t-win.kr:ifheone/shoptime into develop
This commit is contained in:
@@ -21,13 +21,10 @@ export const getMyInfoCheckoutInfo =
|
||||
});
|
||||
|
||||
if (callback) callback(response.data);
|
||||
|
||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||
};
|
||||
|
||||
const onFail = (error) => {
|
||||
console.error("getMyInfoCheckoutInfo OnFail: ", error);
|
||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||
};
|
||||
|
||||
TAxios(
|
||||
@@ -100,13 +97,14 @@ export const getCheckoutTotalAmt =
|
||||
payload: response.data.data,
|
||||
});
|
||||
|
||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||
|
||||
if (callback) callback(response.data);
|
||||
|
||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||
};
|
||||
|
||||
const onFail = (error) => {
|
||||
console.error("getCheckoutTotalAmt onFail: ", error);
|
||||
|
||||
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
|
||||
};
|
||||
|
||||
|
||||
@@ -660,6 +660,13 @@ export default function TabLayout({ topPanelName, onTabActivated, panelInfo }) {
|
||||
}
|
||||
}, [panelInfo, topPanelName]);
|
||||
|
||||
// esc키로 Home으로 이동시 SubItemId 초기화
|
||||
useEffect(() => {
|
||||
if (topPanelName === null && selectedSubItemId) {
|
||||
setSelectedSubItemId(null);
|
||||
}
|
||||
}, [panels, selectedSubItemId]);
|
||||
|
||||
useEffect(() => {
|
||||
if (tabActivated && showSubTab && subTabLastFocusId !== null) {
|
||||
Spotlight.focus(subTabLastFocusId);
|
||||
|
||||
@@ -2368,7 +2368,7 @@ const VideoPlayerBase = class extends React.Component {
|
||||
panelInfo.modal && type !== "MEDIA" && css.smallThumbnail
|
||||
)}
|
||||
>
|
||||
<img src={this.state.thumbnailUrl} alt="" />
|
||||
<img src={thumbnailUrl} alt="" />
|
||||
</p>
|
||||
}
|
||||
|
||||
|
||||
@@ -482,3 +482,24 @@ export const parseLocalizedNumber = (numberString, countryCode) => {
|
||||
|
||||
return parseFloat(numberString);
|
||||
};
|
||||
|
||||
export const formatCurrencyValue = (
|
||||
value,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
isDiscount = false
|
||||
) => {
|
||||
if (value === "-" || value === 0) return "-";
|
||||
|
||||
const numValue = parseFloat(value);
|
||||
if (isNaN(numValue)) return "-";
|
||||
|
||||
const sign = isDiscount && numValue > 0 ? "- " : "";
|
||||
const formattedValue = numValue.toFixed(2);
|
||||
|
||||
if (!currSign || !currSignLoc) return `${sign}${formattedValue}`;
|
||||
|
||||
return currSignLoc === "L"
|
||||
? `${sign}${currSign} ${formattedValue}`
|
||||
: `${sign}${formattedValue} ${currSign}`;
|
||||
};
|
||||
|
||||
@@ -7,15 +7,16 @@ import Spotlight from "@enact/spotlight";
|
||||
|
||||
import {
|
||||
getCheckoutTotalAmt,
|
||||
getMyInfoCheckoutInfo,
|
||||
resetCheckoutData,
|
||||
} from "../../actions/checkoutActions";
|
||||
import {
|
||||
changeAppStatus,
|
||||
setHidePopup,
|
||||
setShowPopup,
|
||||
} from "../../actions/commonActions";
|
||||
import { setHidePopup, setShowPopup } from "../../actions/commonActions";
|
||||
import { getShoptimeTerms } from "../../actions/empActions";
|
||||
import {
|
||||
sendLogCheckOutBtnClick,
|
||||
sendLogGNB,
|
||||
sendLogMyInfoEdit,
|
||||
sendLogPaymentEntry,
|
||||
} from "../../actions/logActions";
|
||||
import { popPanel } from "../../actions/panelActions";
|
||||
import TBody from "../../components/TBody/TBody";
|
||||
import TButton from "../../components/TButton/TButton";
|
||||
@@ -36,7 +37,6 @@ import FixedSideBar from "./container/FixedSideBar";
|
||||
import InformationContainer from "./container/InformationContainer";
|
||||
import OrderItemsSideBar from "./container/OrderItemsSideBar";
|
||||
import SummaryContainer from "./container/SummaryCotainer";
|
||||
import {sendLogCheckOutBtnClick, sendLogGNB, sendLogPaymentEntry, sendLogMyInfoEdit} from "../../actions/logActions";
|
||||
|
||||
export default function CheckOutPanel({ panelInfo }) {
|
||||
const dispatch = useDispatch();
|
||||
@@ -298,12 +298,9 @@ export default function CheckOutPanel({ panelInfo }) {
|
||||
}
|
||||
}, [panelInfo?.logInfo]);
|
||||
|
||||
const doSendLogMyInfoEdit = useCallback(
|
||||
(btnNm) => {
|
||||
dispatch(sendLogMyInfoEdit({ btnNm }));
|
||||
},
|
||||
[]
|
||||
);
|
||||
const doSendLogMyInfoEdit = useCallback((btnNm) => {
|
||||
dispatch(sendLogMyInfoEdit({ btnNm }));
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -33,6 +33,7 @@ export default memo(function OffersPromotionItemCard({
|
||||
currSignLoc,
|
||||
shippingCharge,
|
||||
auctProdYn,
|
||||
auctFinalPriceChgDt,
|
||||
prdtCoupon,
|
||||
spotlightId,
|
||||
offerSideBarOpen,
|
||||
@@ -85,7 +86,11 @@ export default memo(function OffersPromotionItemCard({
|
||||
<div className={css.rightContents}>
|
||||
<p className={css.prdtNm}>{prdtNm}</p>
|
||||
<p className={css.priceWrap}>
|
||||
{auctProdYn === "N" ? (
|
||||
{auctProdYn === "Y" && !auctFinalPriceChgDt ? (
|
||||
<div className={css.noticeBox}>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</div>
|
||||
) : (
|
||||
<>
|
||||
<span className={css.itemPrice}>
|
||||
{currSignLoc === "L" ? (
|
||||
@@ -111,10 +116,6 @@ export default memo(function OffersPromotionItemCard({
|
||||
: `${shippingCharge || 0.0} ${currSign}`}
|
||||
</span>
|
||||
</>
|
||||
) : (
|
||||
<div className={css.noticeBox}>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</div>
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -27,6 +27,7 @@ export default memo(function OrderItemCard({
|
||||
currSignLoc,
|
||||
shippingCharge,
|
||||
auctProdYn,
|
||||
auctFinalPriceChgDt,
|
||||
...rest
|
||||
}) {
|
||||
return (
|
||||
@@ -55,7 +56,11 @@ export default memo(function OrderItemCard({
|
||||
</p>
|
||||
<p className={css.prodQty}>Qty: {prodQty}</p>
|
||||
<p className={css.priceWrap}>
|
||||
{auctProdYn === "N" ? (
|
||||
{auctProdYn === "Y" && !auctFinalPriceChgDt ? (
|
||||
<div className={css.noticeBox}>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</div>
|
||||
) : (
|
||||
<>
|
||||
<span className={css.itemPrice}>
|
||||
{currSignLoc === "L"
|
||||
@@ -67,10 +72,6 @@ export default memo(function OrderItemCard({
|
||||
? `${currSign} ${shippingCharge || 0.0}`
|
||||
: `${shippingCharge || 0.0} ${currSign}`}
|
||||
</>
|
||||
) : (
|
||||
<div className={css.noticeBox}>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</div>
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -62,6 +62,10 @@ export default function PinCodeInput({
|
||||
const auctProdYn = useSelector(
|
||||
(state) => state.checkout?.checkoutData?.productList?.[0].auctProdYn
|
||||
);
|
||||
const auctFinalPriceChgDt = useSelector(
|
||||
(state) =>
|
||||
state.checkout?.checkoutData?.productList?.[0].auctFinalPriceChgDt
|
||||
);
|
||||
const serverHOST = useSelector((state) => state.common.appStatus.serverHOST);
|
||||
const serverType = useSelector((state) => state.localSettings.serverType);
|
||||
|
||||
@@ -171,36 +175,14 @@ export default function PinCodeInput({
|
||||
if (response.retCode === 0) {
|
||||
const orderProductCoupontUse = Object.keys(selectedCoupons).map(
|
||||
(productId) => {
|
||||
const {
|
||||
cpnAplyMaxDcAmt,
|
||||
cpnAplyMinProdAmt,
|
||||
cpnAplyMinPurcAmt,
|
||||
cpnCdCval,
|
||||
cpnCdSeq,
|
||||
cpnDctrt,
|
||||
cpnSno,
|
||||
dcAmt,
|
||||
mbrNo,
|
||||
prdtId,
|
||||
shptmCpnTpCd,
|
||||
shptmCpnTrgtCd,
|
||||
shptmDcTpCd,
|
||||
} = selectedCoupons[productId];
|
||||
const { prdtId, cpnSno, cpnCdSeq } = selectedCoupons[productId];
|
||||
|
||||
return {
|
||||
cpnAplyMaxDcAmt,
|
||||
cpnAplyMinProdAmt,
|
||||
cpnAplyMinPurcAmt,
|
||||
cpnCdCval,
|
||||
cpnCdSeq,
|
||||
cpnDctrt,
|
||||
cpnSno,
|
||||
dcAmt,
|
||||
mbrNo,
|
||||
prdtId,
|
||||
shptmCpnTpCd,
|
||||
shptmCpnTrgtCd,
|
||||
shptmDcTpCd,
|
||||
patnrId: productList.patnrId,
|
||||
prodSno: productList.prodSno,
|
||||
cpnSno,
|
||||
cpnCdSeq,
|
||||
};
|
||||
}
|
||||
);
|
||||
@@ -227,6 +209,7 @@ export default function PinCodeInput({
|
||||
panelInfo: {
|
||||
orderInfo: response.data.data,
|
||||
auctProdYn: auctProdYn,
|
||||
auctFinalPriceChgDt: auctFinalPriceChgDt,
|
||||
logInfo: logInfo,
|
||||
},
|
||||
})
|
||||
@@ -260,6 +243,7 @@ export default function PinCodeInput({
|
||||
productList,
|
||||
isMounted,
|
||||
auctProdYn,
|
||||
auctFinalPriceChgDt,
|
||||
dispatch,
|
||||
logInfo,
|
||||
setIsOrderSuccessful,
|
||||
|
||||
@@ -44,6 +44,7 @@ export default function FixedSideBar({ closeSideBar, offerSideBarOpen }) {
|
||||
currSignLoc={item.currSignLoc}
|
||||
shippingCharge={item.shippingCharge}
|
||||
auctProdYn={item.auctProdYn}
|
||||
auctFinalPriceChgDt={item.auctFinalPriceChgDt}
|
||||
prdtCoupon={item.prdtCoupon}
|
||||
offerSideBarOpen={offerSideBarOpen}
|
||||
/>
|
||||
|
||||
@@ -58,6 +58,10 @@ export default function InformationContainer({
|
||||
const auctProdYn = useSelector(
|
||||
(state) => state.checkout?.checkoutData?.productList?.[0].auctProdYn
|
||||
);
|
||||
const auctFinalPriceChgDt = useSelector(
|
||||
(state) =>
|
||||
state.checkout?.checkoutData?.productList?.[0].auctFinalPriceChgDt
|
||||
);
|
||||
const totDcAmt = useSelector(
|
||||
(state) => state.checkout?.checkoutTotalData?.orderTotalAmtInfo?.totDcAmt
|
||||
);
|
||||
@@ -198,7 +202,7 @@ export default function InformationContainer({
|
||||
spotlightId="checkout-btn-fifth"
|
||||
onFocus={handleFocus}
|
||||
>
|
||||
{auctProdYn === "Y" ? " - " : totDcAmt}
|
||||
{auctProdYn === "Y" && !auctFinalPriceChgDt ? " - " : totDcAmt}
|
||||
</BtnSpot>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -42,6 +42,7 @@ export default function OrderItemsSideBar({ closeSideBar }) {
|
||||
currSignLoc={item.currSignLoc}
|
||||
shippingCharge={item.shippingCharge}
|
||||
auctProdYn={item.auctProdYn}
|
||||
auctFinalPriceChgDt={item.auctFinalPriceChgDt}
|
||||
/>
|
||||
);
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@ import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDeco
|
||||
import { setShowPopup } from "../../../actions/commonActions";
|
||||
import TButton from "../../../components/TButton/TButton";
|
||||
import * as Config from "../../../utils/Config";
|
||||
import { $L } from "../../../utils/helperMethods";
|
||||
import { $L, formatCurrencyValue } from "../../../utils/helperMethods";
|
||||
import css from "./SummaryContainer.module.less";
|
||||
|
||||
const Container = SpotlightContainerDecorator(
|
||||
@@ -33,14 +33,47 @@ export default function SummaryContainer({
|
||||
);
|
||||
|
||||
const items = [
|
||||
{ name: "Items", value: priceTotalData.totProdPrc || "-" },
|
||||
{
|
||||
name: "Items",
|
||||
value: formatCurrencyValue(
|
||||
priceTotalData.totProdPrc,
|
||||
currSign,
|
||||
currSignLoc
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Your Coupon Savings",
|
||||
value: priceTotalData.totDcAmt || "-",
|
||||
value: formatCurrencyValue(
|
||||
priceTotalData.totDcAmt,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
true
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Shipping & Handling",
|
||||
value: formatCurrencyValue(
|
||||
priceTotalData.totDlvrAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "TOTAL (before Tax)",
|
||||
value: formatCurrencyValue(
|
||||
priceTotalData.ordPmtNoTaxAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Estimated Sales Tax",
|
||||
value: formatCurrencyValue(
|
||||
priceTotalData.ordTotTaxAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
),
|
||||
},
|
||||
{ name: "Shipping & Handling", value: priceTotalData.totDlvrAmt || "-" },
|
||||
{ name: "TOTAL (before Tax)", value: priceTotalData.totProdPrc || "-" },
|
||||
{ name: "Estimated Sales Tax", value: priceTotalData.ordTotTaxAmt || "-" },
|
||||
];
|
||||
|
||||
const handleClickOrder = useCallback(() => {
|
||||
@@ -53,11 +86,12 @@ export default function SummaryContainer({
|
||||
return (
|
||||
<Container className={css.container}>
|
||||
<div className={css.order}>
|
||||
<h3>ORDER SUMMARY</h3>
|
||||
<h3>{$L("ORDER SUMMARY")}</h3>
|
||||
<span className={css.line} />
|
||||
<div className={css.itemWrap}>
|
||||
{productList &&
|
||||
(productList.auctProdYn === "Y" ? (
|
||||
(productList.auctProdYn === "Y" &&
|
||||
!productList.auctFinalPriceChgDt ? (
|
||||
<div className={css.noticeBox}>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</div>
|
||||
@@ -65,13 +99,7 @@ export default function SummaryContainer({
|
||||
items.map((item, index) => (
|
||||
<div key={index} className={css.item}>
|
||||
<span className={css.summaryDesc}>{item.name}</span>
|
||||
<span className={css.summaryCnt}>
|
||||
{currSign && currSignLoc
|
||||
? currSignLoc === "L"
|
||||
? `${currSign} ${item.value}`
|
||||
: `${item.value} ${currSign}`
|
||||
: " - "}
|
||||
</span>
|
||||
<span className={css.summaryCnt}>{item.value}</span>
|
||||
</div>
|
||||
))
|
||||
))}
|
||||
@@ -81,13 +109,13 @@ export default function SummaryContainer({
|
||||
<div>{$L("Estimated Total")}</div>
|
||||
<div className={css.price}>
|
||||
{productList &&
|
||||
(productList.auctProdYn === "Y"
|
||||
(productList.auctProdYn === "Y" && !productList.auctFinalPriceChgDt
|
||||
? "-"
|
||||
: currSign && currSignLoc
|
||||
? currSignLoc === "L"
|
||||
? `${currSign} ${priceTotalData?.ordPmtReqAmt || "-"}`
|
||||
: `${priceTotalData?.ordPmtReqAmt || "-"} ${currSign}`
|
||||
: " - ")}
|
||||
: formatCurrencyValue(
|
||||
priceTotalData?.ordPmtReqAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className={css.bottom}>
|
||||
|
||||
@@ -48,6 +48,7 @@ export default function ConfirmPanel({ spotlightId }) {
|
||||
totDlvrAmt,
|
||||
} = panelInfo?.orderInfo || {};
|
||||
const auctProdYn = panelInfo?.auctProdYn || {};
|
||||
const auctFinalPriceChgDt = panelInfo?.auctFinalPriceChgDt || {};
|
||||
const logInfo = panelInfo?.logInfo || {};
|
||||
|
||||
useEffect(() => {
|
||||
@@ -138,7 +139,7 @@ export default function ConfirmPanel({ spotlightId }) {
|
||||
</ul>
|
||||
<div className={css.bottomContents}>
|
||||
<p className={css.bottomContentsTitle}>{$L("ESTIMATED TOTAL")}</p>
|
||||
{auctProdYn && auctProdYn === "Y" ? (
|
||||
{auctProdYn && auctProdYn === "Y" && !auctFinalPriceChgDt ? (
|
||||
<span>
|
||||
{$L("Purchased products will be paid at the final price.")}
|
||||
</span>
|
||||
|
||||
@@ -77,7 +77,6 @@ function Indicator({
|
||||
|
||||
if (!launchedFromPlayer && autoPlaying && productInfo?.prdtMediaUrl) {
|
||||
//auto play.
|
||||
|
||||
dispatch(
|
||||
startVideoPlayer({
|
||||
showUrl: productInfo?.prdtMediaUrl,
|
||||
@@ -93,6 +92,7 @@ function Indicator({
|
||||
prdtId: productInfo?.prdtId,
|
||||
prdtNm: productInfo?.prdtNm,
|
||||
patncNm: productInfo?.patncNm,
|
||||
thumbnailUrl: productInfo?.thumbnailUrl960,
|
||||
modal: true,
|
||||
shptmBanrTpNm: "MEDIA",
|
||||
modalContainerId: "indicator_videoContainer", //to calc width, height, left, top
|
||||
@@ -181,6 +181,7 @@ function Indicator({
|
||||
prdtId: productInfo?.prdtId,
|
||||
patncNm: productInfo?.patncNm,
|
||||
prdtNm: productInfo?.prdtNm,
|
||||
thumbnailUrl: productInfo?.thumbnailUrl960,
|
||||
shptmBanrTpNm: "MEDIA",
|
||||
modal: false,
|
||||
modalContainerId: "indicator_videoContainer", //to calc width, height, left, top
|
||||
|
||||
@@ -128,8 +128,8 @@ function ThemeIndicator({
|
||||
prdtId: themeProductInfo?.prdtId,
|
||||
patncNm: themeProductInfo?.patncNm,
|
||||
prdtNm: themeProductInfo?.prdtNm,
|
||||
thumbnailUrl: themeProductInfo?.thumbnailUrl960,
|
||||
shptmBanrTpNm: "MEDIA",
|
||||
// modal: autoPlaying,
|
||||
modal: true,
|
||||
modalContainerId: "indicator_videoContainer", //to calc width, height, left, top
|
||||
modalClassName: modalClassNameChange(),
|
||||
@@ -282,6 +282,7 @@ function ThemeIndicator({
|
||||
prdtId: themeProductInfo?.prdtId,
|
||||
patncNm: themeProductInfo?.patncNm,
|
||||
prdtNm: themeProductInfo?.prdtNm,
|
||||
thumbnailUrl: themeProductInfo?.thumbnailUrl960,
|
||||
shptmBanrTpNm: "MEDIA",
|
||||
modal: false,
|
||||
modalContainerId: "indicator_videoContainer",
|
||||
|
||||
@@ -31,6 +31,10 @@ import {
|
||||
setShowPopup,
|
||||
setShowSecondaryPopup,
|
||||
} from "../../../../actions/commonActions";
|
||||
import {
|
||||
sendLogOrderBtnClick,
|
||||
sendLogOrderChange,
|
||||
} from "../../../../actions/logActions";
|
||||
// getMyinfoOrderSearch : 회원 주문 정보 조회
|
||||
// getMyinfoOrderDetailSearch : 회원 주문 상세 정보 조회 - 디테일
|
||||
// getMyinfoOrderShippingSearch : 회원 주문 배송 상세 정보 조회
|
||||
@@ -58,6 +62,7 @@ import * as Config from "../../../../utils/Config";
|
||||
import { GET_MY_INFO_ORDER_SEARCH_LIMIT } from "../../../../utils/Config";
|
||||
import {
|
||||
$L,
|
||||
formatCurrencyValue,
|
||||
getFormattingDate,
|
||||
isElementInContainer,
|
||||
} from "../../../../utils/helperMethods";
|
||||
@@ -65,7 +70,6 @@ import { SpotlightIds } from "../../../../utils/SpotlightIds";
|
||||
import NoOrderList from "./components/NoOrderList";
|
||||
import OrderListCard from "./components/OrderListCard";
|
||||
import css from "./MyOrders.module.less";
|
||||
import { sendLogOrderBtnClick, sendLogOrderChange } from "../../../../actions/logActions";
|
||||
|
||||
const Container = SpotlightContainerDecorator("div");
|
||||
const ListContainer = SpotlightContainerDecorator("div");
|
||||
@@ -117,6 +121,16 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
|
||||
const orderInfo = orderInfoData?.orderInfo || {};
|
||||
const cancelOrderInfo = cancelOrderInfoData?.orderInfo || {};
|
||||
const {
|
||||
currSign,
|
||||
currSignLoc,
|
||||
totProdPrc,
|
||||
totDcAmt,
|
||||
totDlvrAmt,
|
||||
ordPmtReqAmt,
|
||||
ordPmtNoTaxAmt,
|
||||
ordTotTaxAmt,
|
||||
} = orderDetailData || {};
|
||||
|
||||
const cbChangePageRef = useRef(null);
|
||||
const focusedContainerIdRef = useRef(null);
|
||||
@@ -445,12 +459,9 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
};
|
||||
}, [popup.secondaryPopup, popup.secondaryPopupVisible, preventKeyDown]);
|
||||
|
||||
const doSendLogOrderBtnClick = useCallback(
|
||||
(btnNm) => {
|
||||
dispatch(sendLogOrderBtnClick({ btnNm }));
|
||||
},
|
||||
[]
|
||||
);
|
||||
const doSendLogOrderBtnClick = useCallback((btnNm) => {
|
||||
dispatch(sendLogOrderBtnClick({ btnNm }));
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -647,8 +658,11 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
<li className={css.summaryItem}>
|
||||
<span className={css.label}>{$L("Items")}</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign}{" "}
|
||||
{orderDetailData.totProdPrc}
|
||||
{formatCurrencyValue(
|
||||
totProdPrc,
|
||||
currSign,
|
||||
currSignLoc
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
<li className={css.summaryItem}>
|
||||
@@ -662,7 +676,12 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
{$L("Your Coupon Savings")}
|
||||
</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign} {orderDetailData.totDcAmt}
|
||||
{formatCurrencyValue(
|
||||
totDcAmt,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
true
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
<li className={css.summaryItem}>
|
||||
@@ -670,8 +689,11 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
{$L("Shipping & Handling")}
|
||||
</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign}{" "}
|
||||
{orderDetailData.totDlvrAmt}
|
||||
{formatCurrencyValue(
|
||||
totDlvrAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
<li className={css.summaryItem}>
|
||||
@@ -679,8 +701,11 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
{$L("TOTAL (before Tax)")}
|
||||
</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign}{" "}
|
||||
{orderDetailData.totProdPrc}
|
||||
{formatCurrencyValue(
|
||||
ordPmtNoTaxAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
<li className={css.summaryItem}>
|
||||
@@ -688,8 +713,11 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
{$L("Estimated Sales Tax")}
|
||||
</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign}{" "}
|
||||
{orderDetailData.ordTotTaxAmt}
|
||||
{formatCurrencyValue(
|
||||
ordTotTaxAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -698,8 +726,11 @@ export default function MyOrders({ title, panelInfo, isOnTop }) {
|
||||
{$L("Item Order Total")}
|
||||
</span>
|
||||
<span className={css.value}>
|
||||
{orderDetailData.currSign}{" "}
|
||||
{orderDetailData.ordPmtReqAmt}
|
||||
{formatCurrencyValue(
|
||||
ordPmtReqAmt,
|
||||
currSign,
|
||||
currSignLoc
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -56,6 +56,7 @@ export default memo(function OrderListCard({
|
||||
ordTotTaxAmt,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
ordPmtReqAmt,
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -78,6 +79,7 @@ export default memo(function OrderListCard({
|
||||
</div>
|
||||
<OrderListCardStatus
|
||||
orderProductInfo={orderProductInfo?.[0]}
|
||||
paymentInfo={paymentInfo}
|
||||
onClickBuyAgain={onClickBuyAgain}
|
||||
cancelItem={cancelItem}
|
||||
doSendLogOrderBtnClick={doSendLogOrderBtnClick}
|
||||
|
||||
@@ -14,7 +14,7 @@ import { pushPanel, updatePanel } from "../../../../../actions/panelActions";
|
||||
import CustomImage from "../../../../../components/CustomImage/CustomImage";
|
||||
import TButton from "../../../../../components/TButton/TButton";
|
||||
import * as Config from "../../../../../utils/Config";
|
||||
import { $L } from "../../../../../utils/helperMethods";
|
||||
import { $L, formatCurrencyValue } from "../../../../../utils/helperMethods";
|
||||
import {
|
||||
getStatusMessageAndClass,
|
||||
renderButtonsByStatus,
|
||||
@@ -38,6 +38,7 @@ const LOG_STRING_CONF = {
|
||||
|
||||
export default function OrderListCardStatus({
|
||||
orderProductInfo,
|
||||
paymentInfo,
|
||||
onClickBuyAgain,
|
||||
cancelItem,
|
||||
doSendLogOrderBtnClick,
|
||||
@@ -54,16 +55,31 @@ export default function OrderListCardStatus({
|
||||
prodQty,
|
||||
prdtOpt,
|
||||
prodPrc,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
prdtOptPrc,
|
||||
dlvrAmt,
|
||||
patnrId,
|
||||
auctProdYn,
|
||||
auctFinalPriceChgDt,
|
||||
patncNm,
|
||||
prodSno,
|
||||
patncPhnNo,
|
||||
} = orderProductInfo || {};
|
||||
|
||||
const {
|
||||
cardKnd,
|
||||
cardNo,
|
||||
regDt,
|
||||
totProdQty,
|
||||
totProdPrc,
|
||||
totDcAmt,
|
||||
totOptPrc,
|
||||
totDlvrAmt,
|
||||
ordTotTaxAmt,
|
||||
currSign,
|
||||
currSignLoc,
|
||||
ordPmtReqAmt,
|
||||
} = paymentInfo || {};
|
||||
|
||||
const dispatch = useDispatch();
|
||||
|
||||
const { message, className } = useMemo(() =>
|
||||
@@ -125,7 +141,7 @@ export default function OrderListCardStatus({
|
||||
}
|
||||
|
||||
const onClickViewOrderDetailsButton = useCallback(() => {
|
||||
if (auctProdYn === "Y") {
|
||||
if (auctProdYn === "Y" && !auctFinalPriceChgDt) {
|
||||
dispatch(setShowPopup(Config.ACTIVE_POPUP.errorPopup));
|
||||
} else {
|
||||
dispatch(
|
||||
@@ -216,10 +232,12 @@ export default function OrderListCardStatus({
|
||||
</p>
|
||||
<p className={css.price}>
|
||||
<strong>
|
||||
{currSign} {prodPrc}
|
||||
{formatCurrencyValue(ordPmtReqAmt, currSign, currSignLoc)}
|
||||
</strong>{" "}
|
||||
| {$L("OPTIONS TOTAL")}: {currSign} {prdtOptPrc} | {$L("S&H")}
|
||||
: {currSign} {dlvrAmt}
|
||||
| {$L("OPTIONS TOTAL")}:{" "}
|
||||
{formatCurrencyValue(totOptPrc, currSign, currSignLoc)} |{" "}
|
||||
{$L("S&H")}:{" "}
|
||||
{formatCurrencyValue(totDlvrAmt, currSign, currSignLoc)}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { memo } from "react";
|
||||
import React, { memo, useCallback } from "react";
|
||||
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
@@ -6,6 +6,7 @@ import { convertUtcToLocal } from "../../../../../components/MediaPlayer/util";
|
||||
import {
|
||||
$L,
|
||||
convertToTimeFormat,
|
||||
formatCurrencyValue,
|
||||
getFormattingCardNo,
|
||||
} from "../../../../../utils/helperMethods";
|
||||
import css from "./OrderListCardTopContents.module.less";
|
||||
@@ -51,20 +52,12 @@ export default memo(function OrderListCardTopContents({ paymentInfo }) {
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{totProdQty}</td>
|
||||
<td>{formatCurrencyValue(totProdPrc, currSign, currSignLoc)}</td>
|
||||
<td>{formatCurrencyValue(totOptPrc, currSign, currSignLoc)}</td>
|
||||
<td>{formatCurrencyValue(totDlvrAmt, currSign, currSignLoc)}</td>
|
||||
<td>{formatCurrencyValue(ordTotTaxAmt, currSign, currSignLoc)}</td>
|
||||
<td>
|
||||
{currSign} {totProdPrc}
|
||||
</td>
|
||||
<td>
|
||||
{currSign} {totDcAmt}
|
||||
</td>
|
||||
<td>
|
||||
{currSign} {totOptPrc}
|
||||
</td>
|
||||
<td>
|
||||
{currSign} {totDlvrAmt}
|
||||
</td>
|
||||
<td>
|
||||
{currSign} {ordTotTaxAmt}
|
||||
{formatCurrencyValue(totDcAmt, currSign, currSignLoc, true)}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -1064,7 +1064,10 @@ const PlayerPanel = ({
|
||||
|
||||
// live subtitle Luna API
|
||||
useEffect(() => {
|
||||
if (currentSubtitleBlob || panelInfo?.shptmBanrTpNm === "MEDIA") {
|
||||
if (
|
||||
currentSubtitleBlob ||
|
||||
(panelInfo?.shptmBanrTpNm === "MEDIA" && panelInfo?.patnrNm !== "QVC")
|
||||
) {
|
||||
return;
|
||||
} else if (isYoutube) {
|
||||
if (mediaId) {
|
||||
@@ -1341,7 +1344,7 @@ const PlayerPanel = ({
|
||||
}
|
||||
}, [shopNowInfo, currentTime]);
|
||||
|
||||
const currentSubtTitleUrl = useMemo(() => {
|
||||
const currentSubtitleUrl = useMemo(() => {
|
||||
if (panelInfo?.shptmBanrTpNm === "MEDIA") {
|
||||
return panelInfo.subtitle;
|
||||
}
|
||||
@@ -1365,8 +1368,8 @@ const PlayerPanel = ({
|
||||
if (Config.DEBUG_VIDEO_SUBTITLE_TEST) {
|
||||
return dummyVtt;
|
||||
}
|
||||
return vodSubtitleData[currentSubtTitleUrl];
|
||||
}, [vodSubtitleData, currentSubtTitleUrl]);
|
||||
return vodSubtitleData[currentSubtitleUrl];
|
||||
}, [vodSubtitleData, currentSubtitleUrl]);
|
||||
|
||||
const isReadyToPlay = useMemo(() => {
|
||||
if (!currentPlayingUrl) {
|
||||
@@ -1374,13 +1377,13 @@ const PlayerPanel = ({
|
||||
}
|
||||
if (
|
||||
!Config.DEBUG_VIDEO_SUBTITLE_TEST &&
|
||||
currentSubtTitleUrl &&
|
||||
currentSubtitleUrl &&
|
||||
!currentSubtitleBlob
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}, [currentPlayingUrl, currentSubtTitleUrl, currentSubtitleBlob]);
|
||||
}, [currentPlayingUrl, currentSubtitleUrl, currentSubtitleBlob]);
|
||||
|
||||
const chatVisible = useMemo(() => {
|
||||
if (
|
||||
@@ -1408,10 +1411,10 @@ const PlayerPanel = ({
|
||||
}, [playListInfo, shopNowInfo, panelInfo.modal]);
|
||||
|
||||
useEffect(() => {
|
||||
if (currentSubtTitleUrl) {
|
||||
dispatch(getSubTitle({ showSubtitleUrl: currentSubtTitleUrl }));
|
||||
if (currentSubtitleUrl) {
|
||||
dispatch(getSubTitle({ showSubtitleUrl: currentSubtitleUrl }));
|
||||
}
|
||||
}, [currentSubtTitleUrl]);
|
||||
}, [currentSubtitleUrl]);
|
||||
|
||||
const reactPlayerSubtitleConfig = useMemo(() => {
|
||||
if (isSubtitleActive && currentSubtitleBlob) {
|
||||
@@ -1463,12 +1466,25 @@ const PlayerPanel = ({
|
||||
|
||||
const videoThumbnailUrl = useMemo(() => {
|
||||
let res = null;
|
||||
res = playListInfo?.[selectedIndex]?.thumbnailUrl;
|
||||
if (!res) {
|
||||
res = showDetailInfo?.[0]?.thumbnailUrl;
|
||||
|
||||
if (panelInfo.shptmBanrTpNm === "MEDIA") {
|
||||
res = panelInfo?.thumbnailUrl;
|
||||
} else {
|
||||
res = playListInfo?.[selectedIndex]?.thumbnailUrl;
|
||||
|
||||
if (!res) {
|
||||
res = showDetailInfo?.[0]?.thumbnailUrl;
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}, [showDetailInfo, playListInfo, selectedIndex]);
|
||||
}, [
|
||||
showDetailInfo,
|
||||
playListInfo,
|
||||
selectedIndex,
|
||||
panelInfo.thumbnailUrl,
|
||||
panelInfo.shptmBanrTpNm,
|
||||
]);
|
||||
|
||||
const saveToLocalSettings = useCallback(() => {
|
||||
if (panelInfo?.shptmBanrTpNm === "VOD") {
|
||||
|
||||
Reference in New Issue
Block a user