// 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 (

Contact Us

Book a free architecture call, request a cost estimate, or ask a question.

{/* Contact Form */} Send us a message Fill out the form and we'll get back to you as soon as possible. {submitSuccess ? (

Message Sent!

Thank you for reaching out. We'll get back to you soon.

) : (
setName(e.target.value)} required />
setEmail(e.target.value)} required />
setCompany(e.target.value)} />