(async () => { const { EventManager, utils, actions } = ShopbySkin; const slideMenuEL = document.querySelector('slide-menu'); EventManager.on('ON_API', async (data) => { // [Jay] 슬라이드 메뉴 중간 배너 추가 const bannerSectionIds = 'slidemenu_mid_banner'; const { result: bannerInfo } = await callShopApiFetch( `/display/banners/id/${bannerSectionIds}`, 'GET', ); const bannerData = bannerInfo[0].accounts?.[0].banners?.[0]; slideMenuEL.store.attach('bannerData', (state) => slideMenuEL.updateSlot(state, 'bannerData'), ); slideMenuEL.store.setState((prev) => ({ ...prev, bannerData, })); // END }); const slideMenuClickActionMap = { CLOSE_SLIDE_MENU: () => { EventManager.fire('TOGGLE_HEADER_SLIDE_MENU', { type: 'close' }); }, TOGGLE_SLIDE_MENU_CHILD_CATEGORY: (e) => { const categoryWrapEl = e?.target?.closest('[shopby-category-no]'); EventManager.fire('TOGGLE_SLIDE_MENU_CHILD_CATEGORY', { wrapEl: categoryWrapEl, }); }, SIGN_OUT: () => { EventManager.fire('SIGN_OUT'); }, GO_MY_MENU: (e) => { if (!utils.isSignedIn()) { e.preventDefault(); const from = e.target.href; const nextUrl = `${location.origin}/pages/sign-in/sign-in.html`; location.href = `${nextUrl}?from=${encodeURIComponent(from)}`; } }, }; const clickEventListener = (e) => { const action = e?.target ?.closest('[shopby-action]') ?.getAttribute('shopby-action'); slideMenuClickActionMap[action]?.(e); }; slideMenuEL?.addEventListener('click', clickEventListener); // [KR] 사이드바 로그인시에 회원명 표시 EventManager.on('QUERY_GET_PROFILE', (data) => { document.querySelector('.js-sidebar-member-name').innerText = data.memberName || data.nickName; document.querySelector('.js-sidebar-member-name').style.display = 'block'; }); })();