(() => { /* 커뮤니티 */ const boardBnt = document.querySelector('.board-btn'); const clickedClass = 'on'; boardBnt.addEventListener('click', function() { if( boardBnt.classList.contains(clickedClass) ) { boardBnt.classList.remove(clickedClass); } else { boardBnt.classList.add(clickedClass); } }); const { EventManager, utils, constants } = ShopbySkin; const slideMenuEL = document.querySelector('slide-menu'); 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: () => { slideMenuClickActionMap.CLOSE_SLIDE_MENU(); //로그아웃 시 저장되어있는 토큰 정보 및 날짜 정보 삭제 utils.removeLocalStorage('SAVE_MEMBER_LOGIN') utils.removeLocalStorage('SAVE_MEMBER_LOGIN_REFRESH') utils.removeLocalStorage('SAVE_MEMBER_LOGIN_REFRESH_DT') //로그아웃 시 저장되어있는 토큰 정보 및 날짜 정보 삭제 EventManager.fire('SIGN_OUT'); }, GO_MY_MENU: (e) => { if (!utils.isSignedIn()) { e.preventDefault(); slideMenuClickActionMap.CLOSE_SLIDE_MENU(); const from = e.target.href; const nextUrl = `${location.origin}${constants.PAGE.SIGN_IN}`; utils.moveTo({ url: `${nextUrl}?from=${encodeURIComponent(from)}` }); } else { if (!e.target.href) { return; } slideMenuClickActionMap.CLOSE_SLIDE_MENU(); utils.moveTo({ url: e.target.href }); } }, GO_NEXT: (event) => { event.preventDefault(); const { target } = event; const href = target?.href ?? target.closest('[shopby-action="GO_NEXT"]')?.href; if (!href) { return; } slideMenuClickActionMap.CLOSE_SLIDE_MENU(); utils.moveTo({ url: href }); }, }; const clickEventListener = (e) => { const action = e?.target?.closest('[shopby-action]')?.getAttribute('shopby-action'); slideMenuClickActionMap[action]?.(e); }; slideMenuEL?.addEventListener('click', clickEventListener); ShopbySkin.utils.myappProxyRegistry.applyToSlideMenu = (proxyFn) => { if (typeof proxyFn === 'function') { slideMenuEL?.removeEventListener('click', clickEventListener); slideMenuEL?.addEventListener('click', proxyFn(clickEventListener)); } }; ShopbySkin.utils.myappProxyRegistry.applyToSlideMenu.proxyFnKey = 'slideMenuProxy'; EventManager.fire('INIT_MYAPP'); })();