Commit Graph

17 Commits

Author SHA1 Message Date
becarta
e8833ce52b Add spam review functionality to contact form and update translations
- Introduced a new spamReview property in the Form interface to handle manual review requests for messages flagged as spam.
- Updated the Form component to display a spam warning and a manual review form with dynamic labels and placeholders based on translations.
- Enhanced the Tailwind CSS styles for responsive subtitles across various components.
- Added corresponding translations for the spam review feature in English, Dutch, German, and French, ensuring consistency and clarity in messaging.
- Updated various components to integrate the new spamReview functionality, improving user experience and interaction.
2025-07-12 00:28:44 +02:00
3847f415d6 Enhance accessibility and structure across multiple components
- Updated the ContactForm component to include labels and aria-describedby attributes for better accessibility.
- Improved the Button component by conditionally adding aria-labels based on text input.
- Enhanced the Form component with aria-describedby attributes for validation feedback.
- Refactored the Layout component to include semantic HTML5 elements for better structure and accessibility.
- Updated the 404 page metadata for improved SEO and user experience.
2025-06-24 21:05:49 +02:00
becarta
5ceb3491c7 Add spam detection and manual review request feature in contact form
- Integrated Gemini AI for spam detection in the contact form API, returning a token for manual review requests if spam is detected.
- Implemented a manual review UI in the Form.astro component, allowing users to submit their email and justification for review.
- Updated email handler to send manual review requests to a designated email address.
- Enhanced rate limiter configuration to allow more attempts in a shorter duration for better user experience.
- Added new dependencies: jsonwebtoken and @types/jsonwebtoken for handling JWTs in the spam detection process.
2025-06-12 23:43:12 +02:00
fcf639edcc Remove Netlify form handling logic from BasicScripts.astro and update Form.astro to set action attribute for contact form submission to the new API endpoint. 2025-06-07 01:39:21 +02:00
0893e235c2 Update Astro configuration to switch from Netlify to Node adapter and update dependencies
- Replace Netlify adapter with Node adapter in astro.config.ts for standalone mode.
- Update package.json to reflect the new dependency on @astrojs/node.
- Modify package-lock.json to include updated versions of dependencies and remove Netlify-specific configurations from the contact form.
2025-06-07 00:44:48 +02:00
02fe6d217a Add CSRF token handling to contact form for enhanced security
- Introduce a hidden CSRF token input field in the contact form.
- Implement a function to fetch and set the CSRF token on form load.
- Update form submission logic to use FormData and re-fetch the CSRF token after successful submission.
2025-06-07 00:29:49 +02:00
becarta
890d7b8670 Updated site completely
Some checks failed
GitHub Actions / build (18) (push) Has been cancelled
GitHub Actions / build (20) (push) Has been cancelled
GitHub Actions / build (22) (push) Has been cancelled
GitHub Actions / check (push) Has been cancelled
2025-03-29 22:32:31 +01:00
becarta
d66123c029 major update in looks and feel 2025-03-06 00:03:16 +01:00
becarta
3b98eae137 added netlify to form 2025-03-04 01:13:00 +01:00
becarta
6040831ece updated form 2025-03-04 01:08:21 +01:00
becarta
85a819ed15 updated contact form logic 2025-03-04 00:59:40 +01:00
becarta
e9d3d8a2fb Contact form logic 2025-03-04 00:32:39 +01:00
Dylan Awalt-Conley
afacd786bf fix: define component Props type instead of typecasting Astro.props
This surfaces some type errors in props being passed to some components,
particularly in the way Features passes the classes props.
2024-03-26 12:11:41 -04:00
prototypa
5e8bb02ab8 Allow set a name for textarea message 2024-03-25 08:18:12 -04:00
prototypa
770dee10bd Replace component CTA with Button with new props 2023-09-02 18:02:45 -04:00
prototypa
3022d4424b Fix imported type using a type-only import 2023-08-22 22:56:57 -04:00
widgeter
5dbdf84dd7 Create a contact component 2023-08-11 17:50:09 +02:00