| import Component from '../component/Component.js';
import FetchData from '../lib/FetchData.js';
class FormContact extends Component {
    constructor(submitCallback) {
        super();
        this.submitCallback = submitCallback;
    }
    render() {
        return `
            <form id="contact-form">
                <div class="form-group">
                    <label for="name">Nome:</label>
                    <input type="text" id="name" name="name" class="w3-input" required>
                </div>
                <div class="form-group">
                    <label for="email">Email:</label>
                    <input type="email" id="email" name="email" class="w3-input" required>
                </div>
                <div class="form-group">
                    <label for="message">Mensagem:</label>
                    <textarea id="message" name="message" class="w3-input" rows="4" required></textarea>
                </div>
                <button type="submit" class="w3-btn w3-blue">Enviar</button>
            </form>
        `;
    }
    afterRender() {
        const form = document.getElementById('contact-form');
        form.addEventListener('submit', async (event) => {
            event.preventDefault(); 
            const formData = new FormData(form);
            
            const formObj = {};
            formData.forEach((value, key) => { formObj[key] = value; });
            
            const jsonData = JSON.stringify(formObj);
            const fetchData = new FetchData('back/submit_contact.php');
            
            try {
                const response = await fetch(fetchData.url, {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    body: jsonData
                });
                if (!response.ok) {
                    throw new Error(`HTTP error! status: ${response.status}`);
                }
                const data = await response.json();
                console.log('Success:', data);
            } catch (error) {
                console.error('Error:', error);
            }
        });
    }
}
export default FormContact;
 |