// app/contact/page.tsx 'use client'; import * as React from 'react'; import { ExternalLinkIcon } from 'lucide-react'; import { Navbar } from '@workspace/ui/components/layout'; import { Footer } from '@workspace/ui/components/layout'; import { Container, Section } from '@workspace/ui/components/layout'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@workspace/ui/components/ui'; import { Button } from '@workspace/ui/components/ui'; import { Input } from '@workspace/ui/components/ui'; import { Textarea } from '@workspace/ui/components/ui'; import { Label } from '@workspace/ui/components/ui'; export default function ContactPage() { // State for form inputs const [name, setName] = React.useState(''); const [email, setEmail] = React.useState(''); const [company, setCompany] = React.useState(''); const [message, setMessage] = React.useState(''); const [isSubmitting, setIsSubmitting] = React.useState(false); const [submitSuccess, setSubmitSuccess] = React.useState(false); const [submitError, setSubmitError] = React.useState(''); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); setSubmitError(''); setSubmitSuccess(false); // Basic validation if (!name || !email || !message) { setSubmitError('Please fill in all required fields.'); setIsSubmitting(false); return; } // Mock submission logic (replace with actual API call) setTimeout(() => { console.log({ name, email, company, message }); // Simulate success setSubmitSuccess(true); setIsSubmitting(false); // Reset form setName(''); setEmail(''); setCompany(''); setMessage(''); }, 1000); }; return (
Book a free architecture call, request a cost estimate, or ask a question.
Message Sent!
Thank you for reaching out. We'll get back to you soon.
During this call, we'll review your current setup, identify cost-cutting opportunities, and outline a migration path.
{/* Calendly Inline Embed */}Calendly Embed Placeholder
(This would be a real Calendly widget)
For sensitive security-related questions, please use our dedicated channel.