eliminar token y solicitud screen cambio de statefull a stateless

This commit is contained in:
Juan Felipe Duarte
2023-06-21 16:09:46 -05:00
parent 0eb361dc15
commit fa1b373d5e
7 changed files with 25 additions and 31 deletions
@@ -3,6 +3,7 @@ import 'package:firebase_auth/firebase_auth.dart';
import 'package:get/get.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:prosappco/src/authentication/exceptions/register_failed.dart';
import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/screens/login.dart';
import 'package:prosappco/src/screens/service.dart';
@@ -151,7 +152,18 @@ class AuthenticationRepository extends GetxController {
}
}
Future<void> logout() async => _auth.signOut();
Future<void> logout(String uid) async {
try {
await FirebaseFirestore.instance
.collection('users')
.doc(uid)
.update({'token': FieldValue.delete()});
} catch (e) {
print(e);
}
_auth.signOut();
}
String? getCurrentUserPhone() {
final User? user = _auth.currentUser;
+1 -1
View File
@@ -366,7 +366,7 @@ class _DrawerMenuState extends State<DrawerMenu> {
const SizedBox(width: 10),
ElevatedButton(
onPressed: () {
AuthenticationRepository.instance.logout();
AuthenticationRepository.instance.logout(uid!);
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,
+1 -1
View File
@@ -357,7 +357,7 @@ class _DrawerProfessionalState extends State<DrawerProfessional> {
const SizedBox(width: 10),
ElevatedButton(
onPressed: () {
AuthenticationRepository.instance.logout();
AuthenticationRepository.instance.logout(uid!);
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,
+1 -1
View File
@@ -301,7 +301,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
'Inicie sesión para asegurarnos de que seas tú .',
snackPosition: SnackPosition.BOTTOM,
);
AuthenticationRepository.instance.logout();
AuthenticationRepository.instance.logout(uid!);
}
}
}
+1 -1
View File
@@ -238,7 +238,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
'Inicie sesión para asegurarnos de que seas tú .',
snackPosition: SnackPosition.BOTTOM,
);
AuthenticationRepository.instance.logout();
AuthenticationRepository.instance.logout(uid!);
}
}
}
+1 -19
View File
@@ -8,29 +8,11 @@ import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/models/scores_model.dart';
import 'package:prosappco/src/screens/cita.dart';
// class name extends StatelessWidget {
// const name({super.key});
// @override
// Widget build(BuildContext context) {
// return Container();
// }
// }
class SolicitudScreen extends StatefulWidget {
class SolicitudScreen extends StatelessWidget {
SolicitudScreen({super.key});
@override
State<SolicitudScreen> createState() => _SolicitudScreenState();
}
class _SolicitudScreenState extends State<SolicitudScreen> {
DateTime today = DateTime.now();
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return SafeArea(
+7 -7
View File
@@ -1,13 +1,12 @@
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:prosappco/src/services/firebase_messaging.dart';
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
FlutterLocalNotificationsPlugin();
Future<void> initNotifications() async {
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
AndroidInitializationSettings('@mipmap/ic_launcher');
const InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid,
@@ -16,17 +15,18 @@ Future<void> initNotifications() async {
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
// Inicializar Firebase Messaging
FirebaseMessagingService firebaseMessagingService = FirebaseMessagingService();
FirebaseMessagingService firebaseMessagingService =
FirebaseMessagingService();
await firebaseMessagingService.initializeFirebaseMessaging();
}
Future<void> showNotification(String title, String body) async {
const AndroidNotificationDetails androidNotificationDetails =
AndroidNotificationDetails('solicitud_servicio', 'Solicitud de Servicio',
importance: Importance.max, priority: Priority.high);
AndroidNotificationDetails('solicitud_servicio', 'Solicitud de Servicio',
importance: Importance.max, priority: Priority.high);
const NotificationDetails notificationDetails =
NotificationDetails(android: androidNotificationDetails);
NotificationDetails(android: androidNotificationDetails);
await flutterLocalNotificationsPlugin.show(
1, title, body, notificationDetails);