144 lines
5.8 KiB
TypeScript
144 lines
5.8 KiB
TypeScript
import { Header } from "@/components/header"
|
|
import { Footer } from "@/components/footer"
|
|
import { Button } from "@/components/ui/button"
|
|
import { Card, CardContent } from "@/components/ui/card"
|
|
import { sendContactEmail } from "./actions"
|
|
import { Suspense } from "react"
|
|
|
|
function SuccessMessage({ searchParams }: { searchParams: { success?: string } }) {
|
|
if (searchParams.success === "true") {
|
|
return (
|
|
<div className="max-w-2xl mx-auto mb-8">
|
|
<div className="bg-green-50 border border-green-200 rounded-md p-4">
|
|
<div className="flex">
|
|
<div className="flex-shrink-0">
|
|
<svg className="h-5 w-5 text-green-400" viewBox="0 0 20 20" fill="currentColor">
|
|
<path
|
|
fillRule="evenodd"
|
|
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
clipRule="evenodd"
|
|
/>
|
|
</svg>
|
|
</div>
|
|
<div className="ml-3">
|
|
<h3 className="text-sm font-medium text-green-800">Message sent successfully!</h3>
|
|
<div className="mt-2 text-sm text-green-700">
|
|
<p>Thank you for contacting us. We'll get back to you within 24 hours.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
return null
|
|
}
|
|
|
|
export default function ContactPage({ searchParams }: { searchParams: { success?: string } }) {
|
|
return (
|
|
<div className="min-h-screen">
|
|
<Header />
|
|
|
|
{/* Hero Section */}
|
|
<section className="relative py-20 text-white">
|
|
<div
|
|
className="absolute inset-0 bg-cover bg-center"
|
|
style={{
|
|
backgroundImage: "url('/images/contact-hero.jpg')",
|
|
}}
|
|
/>
|
|
<div className="absolute inset-0 bg-gradient-to-br from-teal-500/90 to-blue-900/90" />
|
|
<div className="relative z-10 container mx-auto px-4 text-center">
|
|
<h1 className="text-5xl mb-4 text-white font-bold" style={{ fontFamily: "var(--font-permanent-marker)" }}>
|
|
Contact Us
|
|
</h1>
|
|
</div>
|
|
</section>
|
|
|
|
<main className="py-20">
|
|
<div className="container mx-auto px-4">
|
|
<Suspense fallback={null}>
|
|
<SuccessMessage searchParams={searchParams} />
|
|
</Suspense>
|
|
<div className="max-w-2xl mx-auto">
|
|
<Card className="p-8">
|
|
<CardContent>
|
|
<h2 className="text-2xl font-semibold mb-6 text-center">Ready to get noticed online?</h2>
|
|
<p className="text-gray-700 mb-8 text-center">
|
|
Great! If you'd like to learn more about how we can help you get noticed online, we'd love to schedule
|
|
an initial consultation phone call.
|
|
</p>
|
|
<form action={sendContactEmail} className="space-y-6">
|
|
<div>
|
|
<label htmlFor="name" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Name *
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="name"
|
|
name="name"
|
|
required
|
|
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-teal-500"
|
|
/>
|
|
</div>
|
|
<div>
|
|
<label htmlFor="email" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Email *
|
|
</label>
|
|
<input
|
|
type="email"
|
|
id="email"
|
|
name="email"
|
|
required
|
|
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-teal-500"
|
|
/>
|
|
</div>
|
|
<div>
|
|
<label htmlFor="phone" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Phone Number
|
|
</label>
|
|
<input
|
|
type="tel"
|
|
id="phone"
|
|
name="phone"
|
|
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-teal-500"
|
|
/>
|
|
</div>
|
|
<div>
|
|
<label htmlFor="company" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Company/Organization
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="company"
|
|
name="company"
|
|
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-teal-500"
|
|
/>
|
|
</div>
|
|
<div>
|
|
<label htmlFor="message" className="block text-sm font-medium text-gray-700 mb-2">
|
|
Tell us about your project *
|
|
</label>
|
|
<textarea
|
|
id="message"
|
|
name="message"
|
|
rows={4}
|
|
required
|
|
placeholder="What are your digital marketing goals? What challenges are you facing?"
|
|
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-teal-500"
|
|
/>
|
|
</div>
|
|
<Button type="submit" className="w-full bg-teal-600 hover:bg-teal-700">
|
|
Send Message
|
|
</Button>
|
|
</form>
|
|
</CardContent>
|
|
</Card>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<Footer />
|
|
</div>
|
|
)
|
|
}
|