1+ "use client" ;
2+
3+ import React , { useRef } from "react" ;
4+ import { motion , useInView } from "framer-motion" ;
5+ import { ArrowRight , Rocket } from "lucide-react" ;
6+ import { Button } from "@/components/ui/button" ;
7+ import PageTransition from "../components/PageTransition" ;
8+ import AnimatedUnderline from "../components/AnimatedUnderline" ;
9+ import Link from "next/link" ;
10+
11+ export default function BoundlessCTA ( ) {
12+ const ref = useRef < HTMLDivElement > ( null ) ;
13+ const isInView = useInView ( ref , { margin : "-100px" } ) ;
14+
15+ return (
16+ < PageTransition >
17+ < section
18+ className = "py-16 md:py-24 bg-gradient-to-b from-background to-background/90"
19+ ref = { ref }
20+ >
21+ < div className = "container max-w-6xl mx-auto px-4 md:px-6" >
22+ < div className = "rounded-2xl border border-primary/20 bg-primary/5 overflow-hidden" >
23+ < div className = "grid grid-cols-1 lg:grid-cols-2 gap-0" >
24+ { /* Left side content */ }
25+ < motion . div
26+ className = "p-8 md:p-12"
27+ initial = { { opacity : 0 , y : 20 } }
28+ whileInView = { { opacity : 1 , y : 0 } }
29+ viewport = { { once : true } }
30+ transition = { { duration : 0.6 } }
31+ >
32+ < div className = "inline-block bg-primary/10 p-2 rounded-full mb-6" >
33+ < Rocket className = "h-6 w-6 text-primary" />
34+ </ div >
35+
36+ < div className = "relative mb-6" >
37+ < h2 className = "text-3xl md:text-4xl font-bold tracking-tighter mb-8" >
38+ Ready to Launch Your Vision?
39+ </ h2 >
40+ < AnimatedUnderline isInView = { isInView } />
41+ </ div >
42+
43+ < p className = "text-lg text-muted-foreground mb-8" >
44+ Join Boundless today and connect with a community of backers eager to
45+ support innovative projects built on Stellar technology.
46+ </ p >
47+
48+ < div className = "flex flex-col sm:flex-row gap-4" >
49+ < Button className = "group" size = "lg" >
50+ < Link href = "/create-project" className = "flex items-center" >
51+ Start a project
52+ < ArrowRight className = "ml-2 h-4 w-4 transition-transform duration-300 group-hover:translate-x-1" />
53+ </ Link >
54+ </ Button >
55+
56+ < Button variant = "outline" size = "lg" className = "group" >
57+ < Link href = "/explore" className = "flex items-center" >
58+ Explore projects
59+ < ArrowRight className = "ml-2 h-4 w-4 transition-transform duration-300 group-hover:translate-x-1" />
60+ </ Link >
61+ </ Button >
62+ </ div >
63+ </ motion . div >
64+
65+ { /* Right side stats */ }
66+ < motion . div
67+ className = "bg-primary/10 p-8 md:p-12 flex flex-col justify-center"
68+ initial = { { opacity : 0 } }
69+ whileInView = { { opacity : 1 } }
70+ viewport = { { once : true } }
71+ transition = { { duration : 0.6 , delay : 0.2 } }
72+ >
73+ < div className = "grid grid-cols-2 gap-6" >
74+ < div className = "text-center" >
75+ < motion . div
76+ className = "text-4xl md:text-5xl font-bold text-primary mb-2"
77+ initial = { { opacity : 0 , y : 10 } }
78+ whileInView = { { opacity : 1 , y : 0 } }
79+ viewport = { { once : true } }
80+ transition = { { duration : 0.4 , delay : 0.3 } }
81+ >
82+ 200+
83+ </ motion . div >
84+ < p className = "text-sm text-muted-foreground" > Projects funded</ p >
85+ </ div >
86+
87+ < div className = "text-center" >
88+ < motion . div
89+ className = "text-4xl md:text-5xl font-bold text-primary mb-2"
90+ initial = { { opacity : 0 , y : 10 } }
91+ whileInView = { { opacity : 1 , y : 0 } }
92+ viewport = { { once : true } }
93+ transition = { { duration : 0.4 , delay : 0.4 } }
94+ >
95+ 15K+
96+ </ motion . div >
97+ < p className = "text-sm text-muted-foreground" > Active backers</ p >
98+ </ div >
99+
100+ < div className = "text-center" >
101+ < motion . div
102+ className = "text-4xl md:text-5xl font-bold text-primary mb-2"
103+ initial = { { opacity : 0 , y : 10 } }
104+ whileInView = { { opacity : 1 , y : 0 } }
105+ viewport = { { once : true } }
106+ transition = { { duration : 0.4 , delay : 0.5 } }
107+ >
108+ $2.5M
109+ </ motion . div >
110+ < p className = "text-sm text-muted-foreground" > Total funded</ p >
111+ </ div >
112+
113+ < div className = "text-center" >
114+ < motion . div
115+ className = "text-4xl md:text-5xl font-bold text-primary mb-2"
116+ initial = { { opacity : 0 , y : 10 } }
117+ whileInView = { { opacity : 1 , y : 0 } }
118+ viewport = { { once : true } }
119+ transition = { { duration : 0.4 , delay : 0.6 } }
120+ >
121+ 92%
122+ </ motion . div >
123+ < p className = "text-sm text-muted-foreground" > Success rate</ p >
124+ </ div >
125+ </ div >
126+ </ motion . div >
127+ </ div >
128+ </ div >
129+ </ div >
130+ </ section >
131+ </ PageTransition >
132+ ) ;
133+ }
0 commit comments