(async () => { const { EventManager, pageHelper, actions } = ShopbySkin; const datePickerHelper = pageHelper.datePickerHelper(); datePickerHelper.initialize(); let shopbyCommonData = {}; EventManager.on('PAGE_LOAD_COMPLETED', (commonData) => { shopbyCommonData = commonData; }); const MODULE_ACTION_HANDLER = { SEARCH_ACCUMULATION: () => { const params = new URLSearchParams(location.search); location.href = `${location.origin}${location.pathname}?${params.toString()}`; }, GRADE_BENEFIT: () => { EventManager.fire('OPEN_LAYER_MODAL', { name: 'grade-benefit-guide', title: '등급혜택 안내', isFull: false, data: { commonData: shopbyCommonData, }, }); }, }; const dateTypeSelectorModule = document.querySelector('date-search'); dateTypeSelectorModule?.addEventListener('click', ({ target }) => { const actionTarget = target.getAttribute('shopby-action'); if (!actionTarget) { return; } MODULE_ACTION_HANDLER[actionTarget](); }); document .querySelector('profile-summary') ?.addEventListener('click', ({ target }) => { const actionTarget = target.getAttribute('shopby-action'); if (!actionTarget) { return; } MODULE_ACTION_HANDLER[actionTarget]({ target }); }); // [KR] 7일내 소멸예정 마일리지 구하기 및 해당 영역에 붙여넣기 // 날짜를 'YYYY-MM-DD' 형식으로 변환하는 함수 const formatDate = (date) => { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); // 월은 0부터 시작하므로 +1 const day = String(date.getDate()).padStart(2, '0'); // 1자리 숫자일 때 앞에 0 추가 return `${year}-${month}-${day}`; }; // 오늘 날짜 구하기 const today = new Date(); const todayFormatted = formatDate(today); // 7일 후 날짜 구하기 const sevenDaysAgo = new Date(); sevenDaysAgo.setDate(today.getDate() + 7); const sevenDaysAgoFormatted = formatDate(sevenDaysAgo); const data = await callShopApi('/profile/accumulations/summary', 'GET', { data: { expireStartYmdt: `${todayFormatted} 00:00:00`, expireEndYmdt: `${sevenDaysAgoFormatted} 23:59:59`, }, accessTokenType: 'member', }); const expireMileage = new Intl.NumberFormat().format( data.result.totalExpireAmt, ); $('custom-profile-summary-expire .js-expire-mileage').text( '- ' + expireMileage, ); })();