diff --git a/src/components/aboutus/aboutus.tsx b/src/components/aboutus/aboutus.tsx index 6ad6774..cf6cfde 100644 --- a/src/components/aboutus/aboutus.tsx +++ b/src/components/aboutus/aboutus.tsx @@ -1,33 +1,67 @@ import { Box, Typography, Button } from "@mui/material"; import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward"; -import { motion } from "framer-motion"; +import { motion, Variants, Transition } from "framer-motion"; const AboutUs = () => { - // Animation variants - const containerVariants = { + // Type-safe animation variants + const containerVariants: Variants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { - staggerChildren: 0.2, - duration: 0.6, + staggerChildren: 0.3, + duration: 0.8, }, }, }; - const itemVariants = { - hidden: { y: 20, opacity: 0 }, + const itemVariants: Variants = { + hidden: { y: 30, opacity: 0 }, visible: { y: 0, opacity: 1, transition: { - duration: 0.6, - ease: "easeOut" as const, + duration: 0.8, + ease: [0.16, 1, 0.3, 1], // Cubic bezier curve for easeOut + }, + }, + }; + + const titleVariants: Variants = { + ...itemVariants, + hover: { + scale: 1.02, + transition: { + repeat: Infinity, + repeatType: "reverse", + duration: 1.5, + } as Transition, + }, + }; + + const underlineVariants: Variants = { + hidden: { width: 0 }, + visible: { + width: "80px", + transition: { + delay: 0.5, + duration: 0.8, }, }, hover: { - scale: 1.02, - transition: { duration: 0.3 }, + width: "120px", + backgroundColor: "#00e1ff", + }, + }; + + const buttonContainerVariants: Variants = { + ...itemVariants, + hover: { + scale: 1.05, + transition: { + type: "spring", + stiffness: 400, + }, }, }; @@ -42,46 +76,57 @@ const AboutUs = () => { color: "#fff", py: { xs: 8, md: 12 }, px: 3, - overflow: "hidden", }} > - + {/* Title Section */} + About Us + - + {/* Content Section */} + { fontSize: { xs: "1rem", md: "1.1rem" }, lineHeight: 1.9, fontWeight: 300, - mb: 4, color: "rgba(255,255,255,0.85)", }} > - Lorem ipsum dolor sit amet consectetur. Nisl sed sed tortor eros. - Enim hendrerit elit interdum malesuada sit dis est pharetra - suspendisse. In dolor venenatis ultricies aliquet lacinia. Faucibus - commodo eu gravida auctor eu et sit ut. Sed praesent sed odio - aliquam in fermentum. Sit vitae morbi sodales sem velit eu tempus - velit nunc. Turpis in in luctus et nulla purus nibh ut. Enim sed - fermentum purus molestie parturient morbi nunc aliquet. Aliquam sed - etiam turpis non lectus commodo cras leo gravida. + Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ipsum + repellendus aperiam, nobis debitis nam nemo dolorum! Suscipit + voluptatibus eum tenetur accusantium eveniet iure, optio illum + minima, quo mollitia vitae dolorem. - + {/* Button Section */} +