function initContactModule(moduleId) { const moduleElement = document.getElementById(moduleId); if (!moduleElement || moduleElement.classList.contains('initialized')) return; const openBtn = moduleElement.querySelector('.btn-open-contact-modal'); const modal = moduleElement.querySelector('.contact-modal-local'); const closeBtn = modal.querySelector('.modal-close'); const overlay = modal.querySelector('.modal-overlay'); const form = modal.querySelector('form'); const formMessages = modal.querySelector('.form-message-area'); const openModal = () => { modal.classList.add('is-active'); document.body.style.overflow = 'hidden'; }; const closeModal = () => { modal.classList.remove('is-active'); document.body.style.overflow = ''; }; openBtn.addEventListener('click', openModal); closeBtn.addEventListener('click', closeModal); overlay.addEventListener('click', closeModal); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && modal.classList.contains('is-active')) { closeModal(); } }); // ๐Ÿ’ก [ํ•ต์‹ฌ ์ˆ˜์ •] universalMailer๋ฅผ ์‚ฌ์šฉํ•œ ํผ ์ œ์ถœ ๋กœ์ง form.addEventListener('submit', function(e) { e.preventDefault(); const submitBtn = this.querySelector('button[type="submit"]'); const originalBtnText = submitBtn.textContent; submitBtn.disabled = true; submitBtn.textContent = '์ „์†ก ์ค‘...'; formMessages.innerHTML = ''; // ์ด์ „ ๋ฉ”์‹œ์ง€ ์ดˆ๊ธฐํ™” const formData = new FormData(form); const variables = { contact_name: formData.get('contact_name'), contact_hp: formData.get('contact_hp'), contact_email: formData.get('contact_email'), contact_message: formData.get('contact_message').replace(/\n/g, '
') }; // universalMailer ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ if (window.universalMailer && typeof window.universalMailer.send === 'function') { window.universalMailer.send({ template_code: 'contact_inquiry', // ๊ด€๋ฆฌ์ž์—์„œ ์ƒ์„ฑํ•œ ํ…œํ”Œ๋ฆฟ ์ฝ”๋“œ // to_email: variables.contact_email, //์ˆ˜์‹ ์ž์ž„ ๋ฌธ์˜ ํ•˜๊ธฐ ๊ฐ™์€๊ฒฝ์šฐ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฐ›์•„์•ผ ํ•ด์„œ ๋น„์›Œ๋‘”๋‹ค variables: variables, onSuccess: function(response) { alert(response.message || '์ƒ๋‹ด ์‹ ์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ ‘์ˆ˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'); form.reset(); closeModal(); }, onError: function(errorMessage) { formMessages.innerHTML = `
${errorMessage || '์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.'}
`; }, onComplete: function() { submitBtn.disabled = false; submitBtn.textContent = originalBtnText; } }); } else { alert('๋ฉ”์ผ ๋ฐœ์†ก ๊ธฐ๋Šฅ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•ด์ฃผ์„ธ์š”.'); submitBtn.disabled = false; submitBtn.textContent = originalBtnText; } }); moduleElement.classList.add('initialized'); } window.initContactModule = initContactModule;