|  |  |  | import 'package:flutter/material.dart'; | 
					
						
							|  |  |  | import 'package:teso/Classes/TesoUser.dart'; | 
					
						
							|  |  |  | import 'package:teso/Pages/PageWidgets/CoinPurchase/MomoType.dart'; | 
					
						
							|  |  |  | import 'package:teso/Pages/PageWidgets/CoinPurchase/PayGold.dart'; | 
					
						
							|  |  |  | import 'package:teso/providers/pageAnimations.dart'; | 
					
						
							|  |  |  | import 'package:teso/util/consts.dart'; | 
					
						
							|  |  |  | import 'package:url_launcher/url_launcher_string.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'PurchaseingSilver.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SilverPurchaseFixed extends StatefulWidget { | 
					
						
							|  |  |  |   final String amount; | 
					
						
							|  |  |  |   final String goldCost; | 
					
						
							|  |  |  |   final String cashCost; | 
					
						
							|  |  |  |   final TesoUser user; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   const SilverPurchaseFixed( | 
					
						
							|  |  |  |       {Key key, this.amount, this.goldCost, this.cashCost, this.user}) | 
					
						
							|  |  |  |       : super(key: key); | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   _SilverPurchaseFixedState createState() => _SilverPurchaseFixedState(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class _SilverPurchaseFixedState extends State<SilverPurchaseFixed> { | 
					
						
							|  |  |  |   TextEditingController momoNumber; | 
					
						
							|  |  |  |   String tapped = "goldcoins"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   void initState() { | 
					
						
							|  |  |  |     momoNumber = new TextEditingController(); | 
					
						
							|  |  |  |     super.initState(); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   void selectTransfer(String type) { | 
					
						
							|  |  |  |     setState(() { | 
					
						
							|  |  |  |       tapped = type; | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   Widget build(BuildContext context) { | 
					
						
							|  |  |  |     return Container( | 
					
						
							|  |  |  |       margin: EdgeInsets.symmetric( | 
					
						
							|  |  |  |         horizontal: (MediaQuery.of(context).size.width) * 0.030, | 
					
						
							|  |  |  |         vertical: (MediaQuery.of(context).size.width) * 0.040, | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |       child: SingleChildScrollView( | 
					
						
							|  |  |  |         scrollDirection: Axis.vertical, | 
					
						
							|  |  |  |         child: Container( | 
					
						
							|  |  |  |           child: new Wrap( | 
					
						
							|  |  |  |             children: <Widget>[ | 
					
						
							|  |  |  |               new Container( | 
					
						
							|  |  |  |                   width: double.infinity, | 
					
						
							|  |  |  |                   margin: EdgeInsets.only( | 
					
						
							|  |  |  |                     top: 5.0, | 
					
						
							|  |  |  |                     bottom: 10.0, | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                   child: Center( | 
					
						
							|  |  |  |                     child: Text( | 
					
						
							|  |  |  |                       "Purchase Silver Coins", | 
					
						
							|  |  |  |                       style: TextStyle( | 
					
						
							|  |  |  |                         fontSize: 18.0, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                     ), | 
					
						
							|  |  |  |                   )), | 
					
						
							|  |  |  |               Padding( | 
					
						
							|  |  |  |                 padding: const EdgeInsets.symmetric(horizontal: 20.0), | 
					
						
							|  |  |  |                 child: Divider(), | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |               Padding( | 
					
						
							|  |  |  |                 padding: const EdgeInsets.symmetric(horizontal: 30.0), | 
					
						
							|  |  |  |                 child: Container( | 
					
						
							|  |  |  |                   width: MediaQuery.of(context).size.width, | 
					
						
							|  |  |  |                   margin: EdgeInsets.symmetric(vertical: 5), | 
					
						
							|  |  |  |                   child: new RichText( | 
					
						
							|  |  |  |                     text: new TextSpan( | 
					
						
							|  |  |  |                       style: new TextStyle( | 
					
						
							|  |  |  |                         fontSize: 15.0, | 
					
						
							|  |  |  |                         color: Theme.of(context).primaryColorLight, | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                       children: <TextSpan>[ | 
					
						
							|  |  |  |                         new TextSpan( | 
					
						
							|  |  |  |                           text: "Purchasing ", | 
					
						
							|  |  |  |                         ), | 
					
						
							|  |  |  |                         new TextSpan( | 
					
						
							|  |  |  |                           text: widget.amount, | 
					
						
							|  |  |  |                           style: new TextStyle(fontWeight: FontWeight.bold), | 
					
						
							|  |  |  |                         ), | 
					
						
							|  |  |  |                         new TextSpan( | 
					
						
							|  |  |  |                           text: " Silver coins", | 
					
						
							|  |  |  |                         ), | 
					
						
							|  |  |  |                       ], | 
					
						
							|  |  |  |                     ), | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |               Padding( | 
					
						
							|  |  |  |                 padding: const EdgeInsets.symmetric(horizontal: 30.0), | 
					
						
							|  |  |  |                 child: Container( | 
					
						
							|  |  |  |                   width: double.infinity, | 
					
						
							|  |  |  |                   margin: EdgeInsets.symmetric(vertical: 5), | 
					
						
							|  |  |  |                   child: Text( | 
					
						
							|  |  |  |                     "Payment Method", | 
					
						
							|  |  |  |                     style: TextStyle( | 
					
						
							|  |  |  |                       fontSize: 18, | 
					
						
							|  |  |  |                     ), | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |               SizedBox(height: 14.0), | 
					
						
							|  |  |  |               Container( | 
					
						
							|  |  |  |                 color: Colors.transparent, | 
					
						
							|  |  |  |                 padding: const EdgeInsets.symmetric(horizontal: 20.0), | 
					
						
							|  |  |  |                 child: SingleChildScrollView( | 
					
						
							|  |  |  |                   scrollDirection: Axis.horizontal, | 
					
						
							|  |  |  |                   child: Row( | 
					
						
							|  |  |  |                     children: [ | 
					
						
							|  |  |  |                       payWithGold(context, "goldcoins", selectTransfer, tapped), | 
					
						
							|  |  |  |                       buildType(context, "assets/images/MTN.png", "mtn", | 
					
						
							|  |  |  |                           selectTransfer, tapped), | 
					
						
							|  |  |  |                       buildType(context, "assets/images/Vodafone.png", | 
					
						
							|  |  |  |                           "vodafone", selectTransfer, tapped), | 
					
						
							|  |  |  |                       buildType(context, "assets/images/AirtelTigo.png", | 
					
						
							|  |  |  |                           "airteltigo", selectTransfer, tapped), | 
					
						
							|  |  |  |                     ], | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |               SizedBox(height: 10.0), | 
					
						
							|  |  |  |               Visibility( | 
					
						
							|  |  |  |                 visible: tapped != null ? true : false, | 
					
						
							|  |  |  |                 child: new Container( | 
					
						
							|  |  |  |                   margin: EdgeInsets.symmetric( | 
					
						
							|  |  |  |                     vertical: 20.0, | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                   child: new Center( | 
					
						
							|  |  |  |                     child: ElevatedButton( | 
					
						
							|  |  |  |                       style: ElevatedButton.styleFrom( | 
					
						
							|  |  |  |                         primary: Theme.of(context).colorScheme.secondary, | 
					
						
							|  |  |  |                         shape: RoundedRectangleBorder( | 
					
						
							|  |  |  |                           borderRadius: BorderRadius.all( | 
					
						
							|  |  |  |                             Radius.circular(25.0), | 
					
						
							|  |  |  |                           ), | 
					
						
							|  |  |  |                         ), | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                       onPressed: () async { | 
					
						
							|  |  |  |                         if (tapped == "goldcoins") { | 
					
						
							|  |  |  |                           Navigator.push( | 
					
						
							|  |  |  |                             context, | 
					
						
							|  |  |  |                             PageTransition( | 
					
						
							|  |  |  |                               child: ProcessSilverPurchase( | 
					
						
							|  |  |  |                                 cost: double.parse(widget.goldCost), | 
					
						
							|  |  |  |                                 method: tapped, | 
					
						
							|  |  |  |                                 silverAmount: int.parse(widget.amount), | 
					
						
							|  |  |  |                                 user: widget.user, | 
					
						
							|  |  |  |                               ), | 
					
						
							|  |  |  |                               type: PageTransitionType.leftToRight, | 
					
						
							|  |  |  |                             ), | 
					
						
							|  |  |  |                           ); | 
					
						
							|  |  |  |                         } else { | 
					
						
							|  |  |  |                           String _url = paymentServer + | 
					
						
							|  |  |  |                               "purchasesilver/user=${widget.user.userGUID}/amount=${widget.amount}/cointype=TESCNS01"; | 
					
						
							|  |  |  |                           await canLaunchUrlString(_url) | 
					
						
							|  |  |  |                               ? await launchUrlString( | 
					
						
							|  |  |  |                                   _url, | 
					
						
							|  |  |  |                                  mode: LaunchMode.platformDefault, | 
					
						
							|  |  |  |                                 ) | 
					
						
							|  |  |  |                               : throw 'Could not launch $_url'; | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                       }, | 
					
						
							|  |  |  |                       child: Text( | 
					
						
							|  |  |  |                         "Confirm", | 
					
						
							|  |  |  |                         style: TextStyle( | 
					
						
							|  |  |  |                           color: Colors.white, | 
					
						
							|  |  |  |                         ), | 
					
						
							|  |  |  |                       ), | 
					
						
							|  |  |  |                     ), | 
					
						
							|  |  |  |                   ), | 
					
						
							|  |  |  |                 ), | 
					
						
							|  |  |  |               ) | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           ), | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |