1+ import { motion } from 'framer-motion'
2+ import { Link } from 'react-router-dom'
3+ import {
4+ Smartphone ,
5+ Zap ,
6+ Shield ,
7+ Code ,
8+ ArrowRight ,
9+ Download ,
10+ CheckCircle
11+ } from 'lucide-react'
12+
13+ export function FlutterPromo ( ) {
14+ return (
15+ < section className = "py-32 bg-gradient-to-br from-blue-50 via-white to-purple-50" >
16+ < div className = "max-w-7xl mx-auto px-6 sm:px-8" >
17+ < motion . div
18+ initial = { { opacity : 0 , y : 20 } }
19+ whileInView = { { opacity : 1 , y : 0 } }
20+ viewport = { { once : true } }
21+ transition = { { duration : 0.8 } }
22+ className = "text-center mb-20"
23+ >
24+ < h2 className = "text-4xl sm:text-5xl lg:text-6xl font-black text-slate-900 mb-8" >
25+ Now Available for
26+ < br />
27+ < span className = "gradient-text inline-flex items-center" >
28+ < Smartphone className = "w-16 h-16 mr-4" />
29+ Flutter
30+ </ span >
31+ </ h2 >
32+ < p className = "text-xl text-slate-600 max-w-3xl mx-auto" >
33+ Build cross-platform mobile payment apps with our new Flutter SDK. Native performance,
34+ enterprise security, and all the power of SVM-Pay in your Flutter applications.
35+ </ p >
36+ </ motion . div >
37+
38+ < div className = "grid grid-cols-1 lg:grid-cols-2 gap-12 items-center mb-20" >
39+ { /* Left side - Features */ }
40+ < motion . div
41+ initial = { { opacity : 0 , x : - 20 } }
42+ whileInView = { { opacity : 1 , x : 0 } }
43+ viewport = { { once : true } }
44+ transition = { { duration : 0.8 } }
45+ >
46+ < div className = "space-y-8" >
47+ < div className = "flex items-start" >
48+ < div className = "w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center mr-4 flex-shrink-0" >
49+ < Smartphone className = "w-6 h-6 text-blue-600" />
50+ </ div >
51+ < div >
52+ < h3 className = "text-xl font-bold text-slate-900 mb-2" > Cross-Platform Native</ h3 >
53+ < p className = "text-slate-600" > Single Dart codebase runs natively on both iOS and Android with platform-specific optimizations.</ p >
54+ </ div >
55+ </ div >
56+
57+ < div className = "flex items-start" >
58+ < div className = "w-12 h-12 bg-yellow-100 rounded-xl flex items-center justify-center mr-4 flex-shrink-0" >
59+ < Zap className = "w-6 h-6 text-yellow-600" />
60+ </ div >
61+ < div >
62+ < h3 className = "text-xl font-bold text-slate-900 mb-2" > Lightning Performance</ h3 >
63+ < p className = "text-slate-600" > 70% faster address validation with native method channels and optimized network adapters.</ p >
64+ </ div >
65+ </ div >
66+
67+ < div className = "flex items-start" >
68+ < div className = "w-12 h-12 bg-green-100 rounded-xl flex items-center justify-center mr-4 flex-shrink-0" >
69+ < Shield className = "w-6 h-6 text-green-600" />
70+ </ div >
71+ < div >
72+ < h3 className = "text-xl font-bold text-slate-900 mb-2" > Enterprise Security</ h3 >
73+ < p className = "text-slate-600" > OWASP Mobile Security compliant with comprehensive security audits and 73+ passing tests.</ p >
74+ </ div >
75+ </ div >
76+
77+ < div className = "flex items-start" >
78+ < div className = "w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center mr-4 flex-shrink-0" >
79+ < Code className = "w-6 h-6 text-purple-600" />
80+ </ div >
81+ < div >
82+ < h3 className = "text-xl font-bold text-slate-900 mb-2" > Ready-to-Use Widgets</ h3 >
83+ < p className = "text-slate-600" > Drop-in PaymentButton, PaymentForm, and PaymentQRCode widgets with built-in validation.</ p >
84+ </ div >
85+ </ div >
86+ </ div >
87+ </ motion . div >
88+
89+ { /* Right side - Code Example */ }
90+ < motion . div
91+ initial = { { opacity : 0 , x : 20 } }
92+ whileInView = { { opacity : 1 , x : 0 } }
93+ viewport = { { once : true } }
94+ transition = { { duration : 0.8 , delay : 0.2 } }
95+ >
96+ < div className = "bg-slate-900 rounded-3xl p-8 shadow-2xl" >
97+ < div className = "flex items-center justify-between mb-6" >
98+ < div className = "flex items-center" >
99+ < div className = "w-3 h-3 bg-red-500 rounded-full mr-2" > </ div >
100+ < div className = "w-3 h-3 bg-yellow-500 rounded-full mr-2" > </ div >
101+ < div className = "w-3 h-3 bg-green-500 rounded-full" > </ div >
102+ </ div >
103+ < span className = "text-slate-400 text-sm font-mono" > main.dart</ span >
104+ </ div >
105+ < pre className = "text-blue-300 font-mono text-sm leading-relaxed overflow-x-auto" >
106+ { `// Initialize Flutter SDK
107+ final svmPay = SVMPay(
108+ config: SVMPayConfig(
109+ defaultNetwork: SVMNetwork.solana,
110+ ),
111+ );
112+
113+ // Ready-to-use payment widget
114+ PaymentButton(
115+ recipient: 'recipient_address',
116+ amount: '1.0',
117+ label: 'Pay 1.0 SOL',
118+ onPayment: (result) async {
119+ if (result.status == PaymentStatus.confirmed) {
120+ print('Payment successful!');
121+ }
122+ },
123+ )` }
124+ </ pre >
125+ </ div >
126+ </ motion . div >
127+ </ div >
128+
129+ { /* Stats Row */ }
130+ < motion . div
131+ initial = { { opacity : 0 , y : 20 } }
132+ whileInView = { { opacity : 1 , y : 0 } }
133+ viewport = { { once : true } }
134+ transition = { { duration : 0.8 , delay : 0.4 } }
135+ className = "grid grid-cols-2 md:grid-cols-4 gap-8 mb-16"
136+ >
137+ < div className = "text-center" >
138+ < div className = "text-3xl font-black text-slate-900 mb-2" > 73+</ div >
139+ < div className = "text-slate-600" > Security Tests</ div >
140+ </ div >
141+ < div className = "text-center" >
142+ < div className = "text-3xl font-black text-slate-900 mb-2" > 70%</ div >
143+ < div className = "text-slate-600" > Faster Performance</ div >
144+ </ div >
145+ < div className = "text-center" >
146+ < div className = "text-3xl font-black text-slate-900 mb-2" > 10+</ div >
147+ < div className = "text-slate-600" > SVM Networks</ div >
148+ </ div >
149+ < div className = "text-center" >
150+ < div className = "text-3xl font-black text-slate-900 mb-2" > 100%</ div >
151+ < div className = "text-slate-600" > Type Safe</ div >
152+ </ div >
153+ </ motion . div >
154+
155+ { /* CTA Buttons */ }
156+ < motion . div
157+ initial = { { opacity : 0 , y : 20 } }
158+ whileInView = { { opacity : 1 , y : 0 } }
159+ viewport = { { once : true } }
160+ transition = { { duration : 0.8 , delay : 0.6 } }
161+ className = "text-center"
162+ >
163+ < div className = "flex flex-col sm:flex-row items-center justify-center gap-4" >
164+ < Link
165+ to = "/flutter"
166+ className = "bg-slate-900 text-white hover:bg-slate-800 px-8 py-4 rounded-2xl font-semibold transition-all duration-300 hover:scale-105 inline-flex items-center"
167+ >
168+ < Smartphone className = "w-5 h-5 mr-3" />
169+ Explore Flutter SDK
170+ < ArrowRight className = "w-5 h-5 ml-3" />
171+ </ Link >
172+ < button className = "border-2 border-slate-900 text-slate-900 hover:bg-slate-900 hover:text-white px-8 py-4 rounded-2xl font-semibold transition-all duration-300 hover:scale-105 inline-flex items-center" >
173+ < Download className = "w-5 h-5 mr-3" />
174+ Quick Install
175+ </ button >
176+ </ div >
177+
178+ < p className = "text-sm text-slate-500 mt-4" >
179+ < code className = "bg-slate-100 px-2 py-1 rounded font-mono" > flutter pub add svm_pay</ code >
180+ </ p >
181+ </ motion . div >
182+
183+ { /* Trust Indicators */ }
184+ < motion . div
185+ initial = { { opacity : 0 , y : 20 } }
186+ whileInView = { { opacity : 1 , y : 0 } }
187+ viewport = { { once : true } }
188+ transition = { { duration : 0.8 , delay : 0.8 } }
189+ className = "flex flex-wrap items-center justify-center gap-8 mt-16 pt-16 border-t border-slate-200"
190+ >
191+ < div className = "flex items-center text-slate-600" >
192+ < CheckCircle className = "w-5 h-5 text-green-600 mr-2" />
193+ < span > Production Ready</ span >
194+ </ div >
195+ < div className = "flex items-center text-slate-600" >
196+ < CheckCircle className = "w-5 h-5 text-green-600 mr-2" />
197+ < span > Security Audited</ span >
198+ </ div >
199+ < div className = "flex items-center text-slate-600" >
200+ < CheckCircle className = "w-5 h-5 text-green-600 mr-2" />
201+ < span > Open Source</ span >
202+ </ div >
203+ < div className = "flex items-center text-slate-600" >
204+ < CheckCircle className = "w-5 h-5 text-green-600 mr-2" />
205+ < span > Enterprise Support</ span >
206+ </ div >
207+ </ motion . div >
208+ </ div >
209+ </ section >
210+ )
211+ }
0 commit comments