diff --git a/lib/auth_gate.dart b/lib/auth_gate.dart index 1897ce5..dff9c71 100644 --- a/lib/auth_gate.dart +++ b/lib/auth_gate.dart @@ -62,20 +62,7 @@ class AuthGate extends StatelessWidget { ); } - User? user = auth.currentUser; - - if (user != null) { - bool isNewUser = - user.metadata.creationTime == user.metadata.lastSignInTime; - - if (isNewUser) { - final name = user.displayName; - final uid = user.uid; - - addUser("TOAA", uid); - } - } - + return const HomeScreen(); }, ); diff --git a/lib/buy.dart b/lib/buy.dart index 883fb04..2aeba7a 100644 --- a/lib/buy.dart +++ b/lib/buy.dart @@ -1,7 +1,11 @@ +import 'dart:convert'; import 'dart:ui'; - +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:http/http.dart' as http; import 'package:flutter/material.dart'; +import 'package:flutter_stripe/flutter_stripe.dart'; import 'package:ruswipeshare/main.dart'; +import 'package:flutter_email_sender/flutter_email_sender.dart'; enum CampusState { campuses, list_options, offers } @@ -636,7 +640,42 @@ class _BuyScreenState extends State { )), // add close button ElevatedButton( - onPressed: () {}, + onPressed: () async { + try { + // 1. create payment intent on the server + + var Ddata = await http.get(Uri.parse('http://172.20.10.2:5000/payment-sheet?price=50')); + + var data = jsonDecode(Ddata.body); + print("wtf"); + + // 2. initialize the payment sheet + await Stripe.instance.initPaymentSheet( + paymentSheetParameters: SetupPaymentSheetParameters( + // Enable custom flow + customFlow: true, + // Main params + merchantDisplayName: 'RU SwipeTrade', + paymentIntentClientSecret: data['paymentIntent'], + // Customer keys + customerEphemeralKeySecret: data['ephemeralKey'], + customerId: data['customer'], + // Extra options + style: ThemeMode.dark, + ), + ); + + } catch (e) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Error: $e')), + ); + rethrow; + } + + await Stripe.instance.presentPaymentSheet(); + + + }, child: Text( "Purchase", style: const TextStyle( diff --git a/lib/profile_screen_custom.dart b/lib/profile_screen_custom.dart index 2d046a2..79faa1b 100644 --- a/lib/profile_screen_custom.dart +++ b/lib/profile_screen_custom.dart @@ -280,17 +280,24 @@ class ProfileScreenCustom extends MultiProviderScreen { String url = data['url']; final uri = Uri.parse(url); - await launchUrl(uri); + launch(url); + final FirebaseAuth auth = FirebaseAuth.instance; final User? user = auth.currentUser; final uid = user?.uid; String acc = ""; for(String element in url.split("/")){ -if(element.contains("acc")) +if(element.contains("acc")) { acc = element; +} } CollectionReference users = FirebaseFirestore.instance.collection('users'); - users.add(ASell(acc, uid)); + users.add({ + 'suid': acc, + 'uid': uid, + }) + .then((value) => print("")) + .catchError((error) => print("ERROR ADDING DATA: $error"));; /* try { diff --git a/pubspec.lock b/pubspec.lock index 0b83bc5..593c430 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -270,6 +270,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.2" + flutter_email_sender: + dependency: "direct main" + description: + name: flutter_email_sender + sha256: "9e253c69617f43d4cb5de672e93a7a19c12a21fb6a75e66c6ce7626336c4c1bc" + url: "https://pub.dev" + source: hosted + version: "5.2.0" flutter_facebook_auth: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6231c27..68b2169 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -51,6 +51,7 @@ dependencies: webview_flutter: any url_launcher: ^6.1.7 flutter_datetime_picker: ^1.5.1 + flutter_email_sender: ^5.0.2 dev_dependencies: flutter_test: