fix: 선택약관 미존재 조건 반영
This commit is contained in:
@@ -146,11 +146,16 @@ export default function HomeBanner({
|
||||
|
||||
const termsData = useSelector((state) => state.home.termsData);
|
||||
const termsIdMap = useSelector((state) => state.home.termsIdMap);
|
||||
const optionalTermsData = useSelector((state) =>
|
||||
state.home.termsData?.data?.terms.find(
|
||||
(term) => term.trmsTpCd === "MST00405",
|
||||
),
|
||||
);
|
||||
const optionalTermsAvailable = useSelector((state) => state.home.optionalTermsAvailable);
|
||||
const optionalTermsData = useSelector((state) => {
|
||||
// Chromium68 호환성을 위해 Optional Chaining 제거
|
||||
if (state.home.termsData && state.home.termsData.data && state.home.termsData.data.terms) {
|
||||
return state.home.termsData.data.terms.find(
|
||||
(term) => term.trmsTpCd === "MST00405"
|
||||
);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
const termsLoading = useSelector((state) => state.common.termsLoading);
|
||||
const isGnbOpened = useSelector((state) => state.common.isGnbOpened);
|
||||
// 선택약관 동의여부
|
||||
@@ -166,13 +171,21 @@ export default function HomeBanner({
|
||||
|
||||
// 선택약관 팝업 표시 여부 ===================================================
|
||||
const shouldShowOptionalTermsPopup = useMemo(() => {
|
||||
console.log('[HomeBanner] Step 1: termsLoading, isGnbOpened, optionalTermsAgreed 상태 확인', { termsLoading, isGnbOpened, optionalTermsAgreed });
|
||||
if (termsLoading || isGnbOpened || optionalTermsAgreed) {
|
||||
console.log('[HomeBanner] Early return: 조건 불만족 (termsLoading || isGnbOpened || optionalTermsAgreed)');
|
||||
console.log('[HomeBanner] Step 1: 상태 확인', {
|
||||
termsLoading,
|
||||
isGnbOpened,
|
||||
optionalTermsAgreed,
|
||||
optionalTermsAvailable
|
||||
});
|
||||
|
||||
// optionalTermsAvailable = false면 팝업 표시 안함
|
||||
if (termsLoading || isGnbOpened || optionalTermsAgreed || !optionalTermsAvailable) {
|
||||
console.log('[HomeBanner] Early return: 조건 불만족');
|
||||
return false;
|
||||
}
|
||||
|
||||
const terms = termsData?.data?.terms;
|
||||
// Chromium68 호환성을 위해 Optional Chaining 제거
|
||||
const terms = termsData && termsData.data && termsData.data.terms;
|
||||
console.log('[HomeBanner] Step 2: termsData 확인', terms);
|
||||
if (!terms) {
|
||||
console.log('[HomeBanner] Early return: terms가 존재하지 않음');
|
||||
@@ -188,7 +201,7 @@ export default function HomeBanner({
|
||||
|
||||
console.log('[HomeBanner] Step 4: 최종 결과', result);
|
||||
return result;
|
||||
}, [termsData, termsLoading, isGnbOpened, optionalTermsAgreed]);
|
||||
}, [termsData, termsLoading, isGnbOpened, optionalTermsAgreed, optionalTermsAvailable]);
|
||||
|
||||
// 선택약관 팝업 표시 여부 ===================================================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user