eliminar token y solicitud screen cambio de statefull a stateless
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:firebase_auth/firebase_auth.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_sign_in/google_sign_in.dart';
|
import 'package:google_sign_in/google_sign_in.dart';
|
||||||
import 'package:prosappco/src/authentication/exceptions/register_failed.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/login.dart';
|
||||||
import 'package:prosappco/src/screens/service.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() {
|
String? getCurrentUserPhone() {
|
||||||
final User? user = _auth.currentUser;
|
final User? user = _auth.currentUser;
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ class _DrawerMenuState extends State<DrawerMenu> {
|
|||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
AuthenticationRepository.instance.logout();
|
AuthenticationRepository.instance.logout(uid!);
|
||||||
},
|
},
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ class _DrawerProfessionalState extends State<DrawerProfessional> {
|
|||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
AuthenticationRepository.instance.logout();
|
AuthenticationRepository.instance.logout(uid!);
|
||||||
},
|
},
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
|
|||||||
@@ -301,7 +301,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
'Inicie sesión para asegurarnos de que seas tú .',
|
'Inicie sesión para asegurarnos de que seas tú .',
|
||||||
snackPosition: SnackPosition.BOTTOM,
|
snackPosition: SnackPosition.BOTTOM,
|
||||||
);
|
);
|
||||||
AuthenticationRepository.instance.logout();
|
AuthenticationRepository.instance.logout(uid!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
|
|||||||
'Inicie sesión para asegurarnos de que seas tú .',
|
'Inicie sesión para asegurarnos de que seas tú .',
|
||||||
snackPosition: SnackPosition.BOTTOM,
|
snackPosition: SnackPosition.BOTTOM,
|
||||||
);
|
);
|
||||||
AuthenticationRepository.instance.logout();
|
AuthenticationRepository.instance.logout(uid!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,29 +8,11 @@ import 'package:prosappco/src/models/event_model.dart';
|
|||||||
import 'package:prosappco/src/models/scores_model.dart';
|
import 'package:prosappco/src/models/scores_model.dart';
|
||||||
import 'package:prosappco/src/screens/cita.dart';
|
import 'package:prosappco/src/screens/cita.dart';
|
||||||
|
|
||||||
// class name extends StatelessWidget {
|
class SolicitudScreen extends StatelessWidget {
|
||||||
// const name({super.key});
|
|
||||||
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Container();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
class SolicitudScreen extends StatefulWidget {
|
|
||||||
SolicitudScreen({super.key});
|
SolicitudScreen({super.key});
|
||||||
|
|
||||||
@override
|
|
||||||
State<SolicitudScreen> createState() => _SolicitudScreenState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _SolicitudScreenState extends State<SolicitudScreen> {
|
|
||||||
DateTime today = DateTime.now();
|
DateTime today = DateTime.now();
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||||
import 'package:prosappco/src/services/firebase_messaging.dart';
|
import 'package:prosappco/src/services/firebase_messaging.dart';
|
||||||
|
|
||||||
|
|
||||||
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
||||||
FlutterLocalNotificationsPlugin();
|
FlutterLocalNotificationsPlugin();
|
||||||
|
|
||||||
Future<void> initNotifications() async {
|
Future<void> initNotifications() async {
|
||||||
const AndroidInitializationSettings initializationSettingsAndroid =
|
const AndroidInitializationSettings initializationSettingsAndroid =
|
||||||
AndroidInitializationSettings('@mipmap/ic_launcher');
|
AndroidInitializationSettings('@mipmap/ic_launcher');
|
||||||
|
|
||||||
const InitializationSettings initializationSettings = InitializationSettings(
|
const InitializationSettings initializationSettings = InitializationSettings(
|
||||||
android: initializationSettingsAndroid,
|
android: initializationSettingsAndroid,
|
||||||
@@ -16,17 +15,18 @@ Future<void> initNotifications() async {
|
|||||||
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
|
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
|
||||||
|
|
||||||
// Inicializar Firebase Messaging
|
// Inicializar Firebase Messaging
|
||||||
FirebaseMessagingService firebaseMessagingService = FirebaseMessagingService();
|
FirebaseMessagingService firebaseMessagingService =
|
||||||
|
FirebaseMessagingService();
|
||||||
await firebaseMessagingService.initializeFirebaseMessaging();
|
await firebaseMessagingService.initializeFirebaseMessaging();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> showNotification(String title, String body) async {
|
Future<void> showNotification(String title, String body) async {
|
||||||
const AndroidNotificationDetails androidNotificationDetails =
|
const AndroidNotificationDetails androidNotificationDetails =
|
||||||
AndroidNotificationDetails('solicitud_servicio', 'Solicitud de Servicio',
|
AndroidNotificationDetails('solicitud_servicio', 'Solicitud de Servicio',
|
||||||
importance: Importance.max, priority: Priority.high);
|
importance: Importance.max, priority: Priority.high);
|
||||||
|
|
||||||
const NotificationDetails notificationDetails =
|
const NotificationDetails notificationDetails =
|
||||||
NotificationDetails(android: androidNotificationDetails);
|
NotificationDetails(android: androidNotificationDetails);
|
||||||
|
|
||||||
await flutterLocalNotificationsPlugin.show(
|
await flutterLocalNotificationsPlugin.show(
|
||||||
1, title, body, notificationDetails);
|
1, title, body, notificationDetails);
|
||||||
|
|||||||
Reference in New Issue
Block a user