Skip to content

add node email service integration#9

Merged
rebeccadrennan merged 2 commits into
mainfrom
feat/node-email-integration
Jul 10, 2026
Merged

add node email service integration#9
rebeccadrennan merged 2 commits into
mainfrom
feat/node-email-integration

Conversation

@rebeccadrennan

Copy link
Copy Markdown
Owner

This pull request refactors the contact form to use a custom backend API for submissions instead of EmailJS, adds improved error handling and field-level validation feedback, and updates the form's UI and styling for better user experience.

Contact Form Backend Integration

  • Replaces EmailJS with a new submitContactForm function in src/services/contact.ts, which sends form data to a backend API defined by VITE_CONTACT_API_URL. The API response includes success status, message, and optional field-level errors. ([[1]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeL2-R29), [[2]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-1023cb3e82f5176961a39bf4cbd5cf862f3c9e0d15dee2308aab70d1810d2223R1-R32), [[3]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-a3046da0d15a27e89f2afe639b25748a7ad4d9290af3e7b1b6c1a5533c8f0a8cR1-R5))

Error Handling and Validation

  • Implements real-time field-level error display by updating the form state with errors from the backend and showing error messages under the relevant input fields. Errors are cleared as the user edits each field. ([[1]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeL50-R99), [[2]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeR110-R120), [[3]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeL204-R175), [[4]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeR187-R191), [[5]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeR203-R207), [[6]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeR219-R223))

UI/UX Improvements

  • Adds a loading state to the submit button ("Sending...") and disables it during submission. Updates the form and input styling for autofill, focus, and placeholder text to improve accessibility and appearance. ([[1]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-8dd3c78da0d80df2c3e813868cd11a2f834f840d366533af1c85e99b6e49a9eeL253-R237), [[2]](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-092f42bd202cf3f00100ff41827b0de13b2518587d01e79643d74dab14c740deR5-R30))

Configuration Updates

  • Updates .env.example to remove EmailJS variables and add VITE_CONTACT_API_URL for configuring the contact form backend. ([.env.exampleR1-R5](https://github.com/rebeccadrennan/portfolio-react/pull/9/files#diff-a3046da0d15a27e89f2afe639b25748a7ad4d9290af3e7b1b6c1a5533c8f0a8cR1-R5))

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
portfolio-react Error Error Jul 10, 2026 1:49pm

@rebeccadrennan rebeccadrennan merged commit 3d0314c into main Jul 10, 2026
1 of 4 checks passed
rebeccadrennan pushed a commit that referenced this pull request Jul 10, 2026
Co-authored-by: RebeccaDrennan <rebeccadrennan@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant