import { h, Component } from 'preact'; import { createMessage } from '../services/GuestbookService'; import '../styles/GuestbookForm.css'; import { marked } from "marked"; import DOMPurify from 'dompurify'; class GuestbookForm extends Component { state = { name: '', email: '', website: '', message: '', isMessageSent: false, }; handleChange = (e) => { this.setState({ [e.target.name]: e.target.value }); } handleSubmit = async (e) => { e.preventDefault(); if (this.state.isMessageSent) { return; } const messageHtml = marked(DOMPurify.sanitize(this.state.message)); try { await createMessage({ ...this.state, message: messageHtml }); this.setState({ name: '', email: '', website: '', message: '', isMessageSent: true, errorMessage: '' }); } catch (error) { this.setState({ errorMessage: error.message }); } } render() { return (
Sent successfully!
}