From f5efedcaf7ff2ad509304a6f44771d2bac2001fc Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 4 Feb 2024 20:40:26 -0500 Subject: Proper error handling and css tweak for guestbooks --- src/components/GuestbookForm.jsx | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'src/components') diff --git a/src/components/GuestbookForm.jsx b/src/components/GuestbookForm.jsx index 841902d..26e32b1 100644 --- a/src/components/GuestbookForm.jsx +++ b/src/components/GuestbookForm.jsx @@ -24,19 +24,27 @@ class GuestbookForm extends Component { return; } - const messageHtml = marked(DOMPurify.sanitize(this.state.message)); - await createMessage({ ...this.state, message: messageHtml }); + try { + const messageHtml = marked(DOMPurify.sanitize(this.state.message)); + await createMessage({ ...this.state, message: messageHtml }); - this.setState({ - name: '', - email: '', - website: '', - message: '', - isMessageSent: true, - }); + this.setState({ + name: '', + email: '', + website: '', + message: '', + isMessageSent: true, + errorMessage: '', + }); - if (this.props.onMessageSent) { - this.props.onMessageSent(); + if (this.props.onMessageSent) { + this.props.onMessageSent(); + } + } catch (error) { + this.setState({ + errorMessage: `There was an error submitting your message.
Details: ${error}
Check the console for more details.`, + isMessageSent: false, + }); } } @@ -45,20 +53,21 @@ class GuestbookForm extends Component {

Submit Message

- + - + - + - +
+ {this.state.errorMessage &&

} {this.state.isMessageSent &&

Sent successfully!

}
); -- cgit v1.2.3