diff --git a/.agents/backend-specialist/FORM_INTEGRATION.md b/.agents/backend-specialist/FORM_INTEGRATION.md index 64f5fe9..da1ccec 100644 --- a/.agents/backend-specialist/FORM_INTEGRATION.md +++ b/.agents/backend-specialist/FORM_INTEGRATION.md @@ -35,8 +35,8 @@ Both endpoints include server-side validation, rate limiting, spam protection, a - `name` — required, 2–100 characters - `email` — required, valid format, max 254 chars - `phone` — optional; if present, must match phone regex -- `subject` — required, allowlist enum (web-development, mobile-development, cloud-services, ai-ml, consulting, support, other) -- `message` — required, 10–5000 characters +- `subject` — required, allowlist enum (erp-solutions, government-systems, web-development, mobile-development, ui-ux, consulting, other; legacy values cloud-services, ai-ml, support still accepted by the API but no longer offered in the contact-page dropdown) +- `message` — required, 10–2000 characters - `website` — honeypot, must be empty **Rate limit:** 5 requests per IP per hour diff --git a/src/pages/api/contact.ts b/src/pages/api/contact.ts index cd8dc24..0b509c5 100644 --- a/src/pages/api/contact.ts +++ b/src/pages/api/contact.ts @@ -46,6 +46,7 @@ const PHONE_REGEX = /^[\+]?[(]?[0-9]{1,3}[)]?[-\s\.]?[(]?[0-9]{1,4}[)]?[-\s\.]?[ const VALID_SUBJECTS = [ 'web-development', 'mobile-development', + 'ui-ux', 'cloud-services', 'ai-ml', 'consulting', @@ -312,12 +313,13 @@ async function sendContactEmail(data: ContactFormData): Promise = { 'web-development': 'Web Development', 'mobile-development': 'Mobile Development', + 'ui-ux': 'UI/UX Design', 'cloud-services': 'Cloud Services', 'ai-ml': 'AI & Machine Learning', - 'consulting': 'IT Consulting', + 'consulting': 'IT Consulting / DevOps', 'support': 'Technical Support', - 'erp-solutions': 'ERP / Custom Software', - 'government-systems': 'Government / GeM', + 'erp-solutions': 'ERP / Enterprise Systems', + 'government-systems': 'Government IT', 'other': 'Other', }; diff --git a/src/pages/contact.astro b/src/pages/contact.astro index 67131a7..ed71c08 100644 --- a/src/pages/contact.astro +++ b/src/pages/contact.astro @@ -34,7 +34,7 @@ const contactInfo = [ { icon: 'clock', title: 'Business Hours', - details: ['Mon – Fri: 10:00 AM – 6:00 PM', 'Sat – Sun: Closed'], + details: ['Mon – Fri: 10:00 AM – 6:00 PM', 'We reply within 24 business hours, Mon – Fri.'], link: null, linkLabel: null, color: 'violet', @@ -125,7 +125,7 @@ const trustStats = [ Hear From You

- Whether you have a project in mind, a question about our services, or just want to explore the possibilities — our team is ready to help. + Tell us about your project — get a free 1-page proposal in 24 hours.

@@ -151,8 +151,17 @@ const trustStats = [
-

Send Us a Message

-

Fill out the form below and we'll respond within 24 hours.

+
+

Send Us a Message

+ + + + < 24h response + +
+

Fill out the form below and we'll reply within 24 business hours, Mon – Fri.

@@ -325,12 +334,12 @@ const trustStats = [ class="form-input w-full pl-10 pr-8 py-3 rounded-xl border border-secondary-200 dark:border-secondary-600 focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all duration-200 text-secondary-900 dark:text-secondary-100 text-sm bg-secondary-50 dark:bg-secondary-700 focus:bg-white dark:focus:bg-secondary-700 appearance-none cursor-pointer" > + + - - - - + +