This commit is contained in:
Juan Felipe Duarte
2023-04-04 09:18:33 -05:00
parent 9656a85090
commit 50737e03dd
7 changed files with 304 additions and 155 deletions
+30 -10
View File
@@ -1,5 +1,8 @@
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intl_phone_field/intl_phone_field.dart';
import 'package:prosappco/src/controllers/phone_auth_controller.dart';
class NewNumberScreen extends StatefulWidget {
const NewNumberScreen({super.key});
@@ -8,7 +11,22 @@ class NewNumberScreen extends StatefulWidget {
State<NewNumberScreen> createState() => _NewNumberScreenState();
}
// Actualizar número de teléfono en Firebase
Future<void> updatePhoneNumber(String verificationId, String smsCode) async {
try {
PhoneAuthCredential credential = PhoneAuthProvider.credential(
verificationId: verificationId, smsCode: smsCode);
await FirebaseAuth.instance.currentUser!.updatePhoneNumber(credential);
print("Phone number updated successfully");
} catch (e) {
print("Error updating phone number: $e");
}
}
class _NewNumberScreenState extends State<NewNumberScreen> {
String completePhoneNumber = '';
final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return SafeArea(
@@ -37,15 +55,15 @@ class _NewNumberScreenState extends State<NewNumberScreen> {
style: TextStyle(fontSize: 18.0, color: Color(0xFF65676B))),
)),
Form(
// key: _formKey,
key: _formKey,
child: Padding(
padding: EdgeInsets.only(bottom: 5),
child: IntlPhoneField(
// controller: controller.phoneNo,
initialCountryCode: 'CO',
// onChanged: (phoneNo) {
// completePhoneNumber = phoneNo.completeNumber;
// },
onChanged: (phoneNo) {
completePhoneNumber = phoneNo.completeNumber;
},
decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFECECEC)),
@@ -74,12 +92,14 @@ class _NewNumberScreenState extends State<NewNumberScreen> {
child: Center(
child: ElevatedButton(
onPressed: () {
// if (_formKey.currentState!.validate()) {
// PhoneAuthController.instance.phoneAuthentication(
// completePhoneNumber.trim(),
// );
// Get.to(() => const CodeValidationScreen());
// }
// updatePhoneNumber(completePhoneNumber, '123456');
if (_formKey.currentState!.validate()) {
PhoneAuthController.instance.phoneAuthentication(
completePhoneNumber.trim(),
);
Get.to(NewNumberScreen());
}
},
child: Text(
'Enviar código',