Initial commit
This commit is contained in:
76
src/components/Contact.js
Normal file
76
src/components/Contact.js
Normal file
@@ -0,0 +1,76 @@
|
||||
import React from 'react';
|
||||
import { motion, useReducedMotion } from 'framer-motion';
|
||||
import { MessageCircle } from 'lucide-react';
|
||||
|
||||
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
|
||||
initial: { opacity: 0, y: 20 },
|
||||
whileInView: { opacity: 1, y: 0 },
|
||||
viewport: { once: true, amount: 0.2 },
|
||||
transition: { delay, duration, ease: "easeOut" }
|
||||
});
|
||||
|
||||
const Contact = () => {
|
||||
const shouldReduceMotion = useReducedMotion();
|
||||
|
||||
if (shouldReduceMotion) {
|
||||
return (
|
||||
<section className="section-padding bg-gray-50">
|
||||
<div className="container-custom">
|
||||
<div className="max-w-4xl mx-auto text-center">
|
||||
<div className="bg-white rounded-2xl p-8 lg:p-12 shadow-sm border border-gray-100">
|
||||
<MessageCircle className="w-16 h-16 text-primary-600 mx-auto mb-6" />
|
||||
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
|
||||
How can we help? Let's talk
|
||||
</h2>
|
||||
<p className="text-gray-600 mb-8 text-lg">
|
||||
Ready to start your next project? Get in touch with our team and let's discuss how we can bring your ideas to life.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
||||
<button className="btn-primary">
|
||||
Schedule a Call
|
||||
</button>
|
||||
<button className="btn-secondary">
|
||||
Send Message
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<motion.section
|
||||
{...fadeUpPreset(0.1, 0.8)}
|
||||
className="section-padding bg-gray-50"
|
||||
>
|
||||
<div className="container-custom">
|
||||
<motion.div
|
||||
{...fadeUpPreset(0.2, 0.8)}
|
||||
className="max-w-4xl mx-auto text-center"
|
||||
>
|
||||
<div className="bg-white rounded-2xl p-8 lg:p-12 shadow-sm border border-gray-100">
|
||||
<MessageCircle className="w-16 h-16 text-primary-600 mx-auto mb-6" />
|
||||
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
|
||||
How can we help? Let's talk
|
||||
</h2>
|
||||
<p className="text-gray-600 mb-8 text-lg">
|
||||
Ready to start your next project? Get in touch with our team and let's discuss how we can bring your ideas to life.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
||||
<button className="btn-primary">
|
||||
Schedule a Call
|
||||
</button>
|
||||
<button className="btn-secondary">
|
||||
Send Message
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
</div>
|
||||
</motion.section>
|
||||
);
|
||||
};
|
||||
|
||||
export default Contact;
|
||||
Reference in New Issue
Block a user