diff --git a/src/components/sections/cta/CtaAnimatedCard.tsx b/src/components/sections/cta/CtaAnimatedCard.tsx new file mode 100644 index 0000000..c19eeeb --- /dev/null +++ b/src/components/sections/cta/CtaAnimatedCard.tsx @@ -0,0 +1,55 @@ +import Card from "@/components/ui/Card"; +import Button from "@/components/ui/Button"; +import TextAnimation from "@/components/ui/TextAnimation"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +type CtaAnimatedCardProps = { + tag: string; + title: string; + description: string; + primaryButton: { text: string; href: string }; +}; + +const CtaAnimatedCard = ({ + tag, + title, + description, + primaryButton, +}: CtaAnimatedCardProps) => { + return ( +
+
+ +
+
+ + {tag} + + + + + +
+
+
+
+ +
+
+ ); +}; + +export default CtaAnimatedCard; \ No newline at end of file diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx index e737380..4d299c9 100644 --- a/src/components/ui/Button.tsx +++ b/src/components/ui/Button.tsx @@ -1,7 +1,3 @@ -"use client"; - -import { motion } from "motion/react"; -import { useButtonClick } from "@/hooks/useButtonClick"; import { cls } from "@/lib/utils"; interface ButtonProps { @@ -14,31 +10,23 @@ interface ButtonProps { className?: string; } -const Button = ({ text, variant = "primary", href = "#", onClick, animate = true, animationDelay = 0, className = "" }: ButtonProps) => { - const handleClick = useButtonClick(href, onClick); - - const button = ( - - {text} - - ); - - if (!animate) return button; - +const Button = ({ text, variant = "primary", href, onClick, className }: ButtonProps) => { + const baseClass = variant === "primary" ? "primary-button text-primary-cta-text" : "secondary-button text-secondary-cta-text"; + const classes = cls("inline-flex items-center justify-center px-5 py-3 text-sm rounded cursor-pointer transition-all", baseClass, className); + + if (href) { + return ( + + {text} + + ); + } + return ( - - {button} - + ); }; -export default Button; +export default Button; \ No newline at end of file diff --git a/src/components/ui/Card.tsx b/src/components/ui/Card.tsx index 64ec57d..83ac66a 100644 --- a/src/components/ui/Card.tsx +++ b/src/components/ui/Card.tsx @@ -1,15 +1,16 @@ -import type { ReactNode } from "react"; import { cls } from "@/lib/utils"; interface CardProps { - children: ReactNode; + children: React.ReactNode; className?: string; } -const Card = ({ children, className = "" }: CardProps) => ( -
- {children} -
-); +const Card = ({ children, className = "" }: CardProps) => { + return ( +
+ {children} +
+ ); +}; -export default Card; +export default Card; \ No newline at end of file diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 8dff15c..5d1a409 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,5 +1,5 @@ import AboutTestimonial from '@/components/sections/about/AboutTestimonial'; -import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; +import CtaAnimatedCard from '@/components/sections/cta/CtaAnimatedCard'; import CornerGlowBackground from "@/components/ui/CornerGlowBackground"; import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn'; import FeaturesBento from '@/components/sections/features/FeaturesBento'; @@ -155,29 +155,17 @@ export default function HomePage() {
-
); -} +} \ No newline at end of file