Add src/app/contact/page.tsx
This commit is contained in:
240
src/app/contact/page.tsx
Normal file
240
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,240 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import { Phone } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import Input from "@/components/form/Input";
|
||||
|
||||
export default function ContactPage() {
|
||||
const [formData, setFormData] = useState({
|
||||
name: "", email: "", subject: "", message: ""});
|
||||
|
||||
const handleChange = (field: string, value: string) => {
|
||||
setFormData((prev) => ({ ...prev, [field]: value }));
|
||||
};
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
console.log("Form submitted:", formData);
|
||||
setFormData({ name: "", email: "", subject: "", message: "" });
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="compact"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="noise"
|
||||
cardStyle="inset"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="bold"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="AirPods"
|
||||
navItems={[
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Why AirPods", id: "metrics" },
|
||||
{ name: "Support", id: "faq" },
|
||||
{ name: "Pricing", id: "/pricing" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
button={{ text: "Shop Now", href: "/" }}
|
||||
animateOnLoad={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact-section" data-section="contact-section" className="min-h-screen pt-24 px-4">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 mb-16">
|
||||
{/* Contact Form */}
|
||||
<div className="bg-card rounded-2xl p-8">
|
||||
<h2 className="text-3xl font-bold mb-2">Get in Touch</h2>
|
||||
<p className="text-foreground/60 mb-8">We'd love to hear from you. Send us a message and we'll respond as soon as possible.</p>
|
||||
|
||||
<form onSubmit={handleSubmit} className="space-y-6">
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">Name</label>
|
||||
<Input
|
||||
value={formData.name}
|
||||
onChange={(value) => handleChange("name", value)}
|
||||
placeholder="Your name"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">Email</label>
|
||||
<Input
|
||||
value={formData.email}
|
||||
onChange={(value) => handleChange("email", value)}
|
||||
type="email"
|
||||
placeholder="your@email.com"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">Subject</label>
|
||||
<Input
|
||||
value={formData.subject}
|
||||
onChange={(value) => handleChange("subject", value)}
|
||||
placeholder="How can we help?"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">Message</label>
|
||||
<textarea
|
||||
value={formData.message}
|
||||
onChange={(e) => handleChange("message", e.target.value)}
|
||||
placeholder="Tell us more..."
|
||||
className="w-full px-4 py-3 bg-secondary-cta text-foreground placeholder:text-foreground/75 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta min-h-32"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
className="w-full bg-primary-cta text-background font-semibold py-3 rounded-lg hover:opacity-90 transition-opacity"
|
||||
>
|
||||
Send Message
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{/* Company Information */}
|
||||
<div className="space-y-8">
|
||||
<div className="bg-card rounded-2xl p-8">
|
||||
<h3 className="text-2xl font-bold mb-4">Contact Information</h3>
|
||||
|
||||
<div className="space-y-6">
|
||||
<div>
|
||||
<h4 className="font-semibold mb-2">Email</h4>
|
||||
<p className="text-foreground/60">support@airpods.com</p>
|
||||
<p className="text-foreground/60">sales@airpods.com</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4 className="font-semibold mb-2">Phone</h4>
|
||||
<p className="text-foreground/60">+1 (800) 275-2273</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4 className="font-semibold mb-2">Address</h4>
|
||||
<p className="text-foreground/60">One Apple Park Way</p>
|
||||
<p className="text-foreground/60">Cupertino, CA 95014</p>
|
||||
<p className="text-foreground/60">United States</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4 className="font-semibold mb-2">Business Hours</h4>
|
||||
<p className="text-foreground/60">Monday - Friday: 9:00 AM - 6:00 PM PT</p>
|
||||
<p className="text-foreground/60">Saturday: 10:00 AM - 4:00 PM PT</p>
|
||||
<p className="text-foreground/60">Sunday: Closed</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="bg-card rounded-2xl p-8">
|
||||
<h3 className="text-2xl font-bold mb-4">Support Options</h3>
|
||||
<ul className="space-y-3 text-foreground/60">
|
||||
<li className="flex items-start gap-3">
|
||||
<span className="text-primary-cta mt-1">✓</span>
|
||||
<span>Live chat support available 24/7</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-3">
|
||||
<span className="text-primary-cta mt-1">✓</span>
|
||||
<span>Technical support for setup and troubleshooting</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-3">
|
||||
<span className="text-primary-cta mt-1">✓</span>
|
||||
<span>Warranty and replacement assistance</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-3">
|
||||
<span className="text-primary-cta mt-1">✓</span>
|
||||
<span>Sales inquiries for bulk orders</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="contact-faq" data-section="contact-faq">
|
||||
<ContactFaq
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "What is your typical response time?", content: "We aim to respond to all inquiries within 24 hours during business days. For urgent matters, please call our support line at +1 (800) 275-2273."},
|
||||
{
|
||||
id: "2", title: "Do you offer technical support?", content: "Yes, we provide comprehensive technical support for setup, troubleshooting, and connectivity issues. Contact our support team via email or phone, and we'll help you get the most out of your AirPods."},
|
||||
{
|
||||
id: "3", title: "What is your return policy?", content: "We offer a 30-day return policy for all products purchased through our official store. Items must be in original condition with all accessories included. Contact our sales team for more details."},
|
||||
{
|
||||
id: "4", title: "Do you offer bulk purchase discounts?", content: "Yes, we provide special pricing for bulk orders and corporate purchases. Please reach out to our sales team at sales@airpods.com with your requirements."},
|
||||
{
|
||||
id: "5", title: "How can I track my order?", content: "After placing an order, you'll receive a tracking number via email. You can use this number to monitor your shipment status on our website or the carrier's tracking page."},
|
||||
{
|
||||
id: "6", title: "What payment methods do you accept?", content: "We accept all major credit cards (Visa, Mastercard, American Express), PayPal, Apple Pay, and other digital payment methods for your convenience."},
|
||||
]}
|
||||
ctaTitle="Ready to Upgrade?"
|
||||
ctaDescription="Get help from our expert team"
|
||||
ctaButton={{ text: "Call Us Now", href: "tel:+18002752273" }}
|
||||
ctaIcon={Phone}
|
||||
useInvertedBackground={false}
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Products", items: [
|
||||
{ label: "AirPods Pro", href: "/" },
|
||||
{ label: "AirPods Max", href: "/" },
|
||||
{ label: "AirPods (2nd Gen)", href: "/" },
|
||||
{ label: "Compare Models", href: "/pricing" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "Setup Guide", href: "#" },
|
||||
{ label: "Troubleshooting", href: "#" },
|
||||
{ label: "Contact Us", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#" },
|
||||
{ label: "Blog", href: "#" },
|
||||
{ label: "Careers", href: "#" },
|
||||
{ label: "News", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cookie Policy", href: "#" },
|
||||
{ label: "Warranty", href: "#" },
|
||||
],
|
||||
},
|
||||
]}
|
||||
bottomLeftText="© 2025 AirPods. All rights reserved."
|
||||
bottomRightText="Powered by Premium Audio Technology"
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user