motion
unknown
javascript
a year ago
4.6 kB
13
Indexable
import React from 'react';
import { motion } from 'framer-motion';
import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
const DoubleSquareLandingPage = () => {
const handleClick = (action) => {
console.log(`Action triggered: ${action}`);
};
const fadeIn = {
initial: { opacity: 0, y: 20 },
animate: { opacity: 1, y: 0 },
transition: { duration: 0.6 }
};
return (
<div className="min-h-screen bg-[#4A90E2] text-white">
<header className="container mx-auto py-6 px-4 flex justify-between items-center">
<motion.div
className="font-bold text-2xl"
initial={{ opacity: 0, x: -20 }}
animate={{ opacity: 1, x: 0 }}
transition={{ duration: 0.5 }}
>
DoubleSquare
</motion.div>
<motion.div
initial={{ opacity: 0, x: 20 }}
animate={{ opacity: 1, x: 0 }}
transition={{ duration: 0.5 }}
>
<Button
variant="ghost"
className="text-white hover:text-blue-200"
onClick={() => handleClick('Log In')}
>
Log in
</Button>
</motion.div>
</header>
<main className="container mx-auto px-4">
<motion.section
className="text-center max-w-4xl mx-auto py-20"
initial={{ opacity: 0, y: 50 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8, delay: 0.2 }}
>
<h1 className="text-6xl font-bold mb-6">Innovative<br />Event Gallery</h1>
<p className="text-xl mb-10 max-w-2xl mx-auto">
Dedicated to delivering outstanding experiences for<br />
event hosts and guests<br />
while creating a supportive environment for<br />
photographers
</p>
</motion.section>
<motion.section className="py-20" {...fadeIn}>
<Card className="bg-white text-gray-800 p-8">
<CardContent>
<h2 className="text-4xl font-bold mb-6">Smart Design</h2>
<p className="text-xl mb-6">
A cutting-edge interface designed to elevate your gallery creation and
browsing experience.
</p>
<Button
className="bg-blue-600 hover:bg-blue-700 text-white"
onClick={() => handleClick('Design Features')}
>
Design Features
</Button>
</CardContent>
</Card>
</motion.section>
<section className="py-20 grid grid-cols-1 md:grid-cols-2 gap-8">
<motion.div {...fadeIn} transition={{ delay: 0.2 }}>
<Card className="bg-white text-gray-800 p-8">
<CardContent>
<h2 className="text-4xl font-bold mb-6">Face Filtering</h2>
<p className="text-xl mb-6">
Utilizing advanced filtering technology for seamless photo
organization, including face recognition and more.
</p>
<Button
className="bg-blue-600 hover:bg-blue-700 text-white"
onClick={() => handleClick('Review Filtering')}
>
Review Filtering
</Button>
</CardContent>
</Card>
</motion.div>
<motion.div {...fadeIn} transition={{ delay: 0.4 }}>
<Card className="bg-white text-gray-800 p-8">
<CardContent>
<h2 className="text-4xl font-bold mb-6">Fast & Safe Sharing</h2>
<p className="text-xl mb-6">
For hosts, ensuring fast and full view of relevant approved photos to
event guests, allowing customized subgallery sharing with different
guests
</p>
<Button
className="bg-blue-600 hover:bg-blue-700 text-white"
onClick={() => handleClick('Explore Sharing')}
>
Explore Sharing
</Button>
</CardContent>
</Card>
</motion.div>
</section>
</main>
<motion.footer
className="bg-[#3A7BC8] py-10 text-center"
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.5, delay: 0.6 }}
>
<p>© 2023 DoubleSquare. All rights reserved.</p>
</motion.footer>
</div>
);
};
export default DoubleSquareLandingPage;Editor is loading...
Leave a Comment