From 39b49fea152fb5c6375f0896ccb8b2705137f5bd Mon Sep 17 00:00:00 2001 From: Felipe Date: Mon, 31 Jul 2023 15:04:35 -0500 Subject: [PATCH] evita que se pueda enviar info sin numero --- lib/src/components/drawer_menu.dart | 3 ++- lib/src/components/drawer_professional.dart | 22 +++++++++++++++++++++ lib/src/screens/profile_web.dart | 5 ++--- lib/src/screens/request_sent.dart | 21 +++++++++++--------- lib/src/screens/service.dart | 22 +++++++++++++++++++++ 5 files changed, 60 insertions(+), 13 deletions(-) diff --git a/lib/src/components/drawer_menu.dart b/lib/src/components/drawer_menu.dart index 4fb3398..e26c49f 100644 --- a/lib/src/components/drawer_menu.dart +++ b/lib/src/components/drawer_menu.dart @@ -386,7 +386,8 @@ class _DrawerMenuState extends State { onPressed: () { if (user?.name == '' || user?.city == '' || - user?.phoneNumber == '') { + user?.phoneNumber == '' || + user?.phoneNumber == null) { Get.snackbar( 'Crea tu perfil', 'Para ser profesional primero completa tu perfil.', diff --git a/lib/src/components/drawer_professional.dart b/lib/src/components/drawer_professional.dart index da49aef..bb1054b 100644 --- a/lib/src/components/drawer_professional.dart +++ b/lib/src/components/drawer_professional.dart @@ -17,6 +17,7 @@ import 'package:prosappco/src/screens/reputacion_pro.dart'; import '../models/scores_model.dart'; import '../screens/configuracion.dart'; import '../screens/support.dart'; +import 'package:url_launcher/url_launcher.dart'; class DrawerProfessional extends StatefulWidget { @override @@ -28,6 +29,16 @@ class _DrawerProfessionalState extends State { UserModel? user; ScoresModel? scoresModel; + Future _irSugerencias() async { + const url = + 'https://admin.prosapp.co/sugerencias '; // Aquí debes poner la URL a la que quieres dirigirte + if (await canLaunch(url)) { + await launch(url); + } else { + throw 'No se pudo abrir la URL $url'; + } + } + @override void initState() { super.initState(); @@ -199,6 +210,17 @@ class _DrawerProfessionalState extends State { style: TextStyle(fontSize: 15), ), ), + ListTile( + onTap: _irSugerencias, + leading: const Icon( + Icons.campaign_outlined, + color: Colors.black, + ), + title: const Text( + 'Sugerencias', + style: TextStyle(fontSize: 15), + ), + ), ListTile( onTap: () { Navigator.of(context).push( diff --git a/lib/src/screens/profile_web.dart b/lib/src/screens/profile_web.dart index 7418a34..28cd5fc 100644 --- a/lib/src/screens/profile_web.dart +++ b/lib/src/screens/profile_web.dart @@ -443,11 +443,10 @@ class _ProfileWebScreenState extends State { List filteredCities = snapshot.data!; return DropdownButtonFormField( - value: _ciudad, // Valor seleccionado actualmente + value: _ciudad, onChanged: (String? newValue) { setState(() { - _ciudad = - newValue!; // Actualizar el valor seleccionado + _ciudad = newValue!; }); }, items: filteredCities.map((City city) { diff --git a/lib/src/screens/request_sent.dart b/lib/src/screens/request_sent.dart index dfe409a..9448e3f 100644 --- a/lib/src/screens/request_sent.dart +++ b/lib/src/screens/request_sent.dart @@ -48,15 +48,18 @@ class RequestSentScreen extends StatelessWidget { ), ], ), - child: const Row( - children: [ - Expanded( - child: Text( - "¡Gracias por proporcionar tu información! Revisaremos los datos proporcionados y, una vez confirmados, podrás convertirte en un profesional registrado en nuestra aplicación. ¡Esperamos contar contigo pronto!", - style: TextStyle(color: Colors.black, fontSize: 14), - ), - ) - ], + child: const SizedBox( + width: 350, + child: Row( + children: [ + Expanded( + child: Text( + "¡Gracias por proporcionar tu información! Revisaremos los datos proporcionados y, una vez confirmados, podrás convertirte en un profesional registrado en nuestra aplicación. ¡Esperamos contar contigo pronto!", + style: TextStyle(color: Colors.black, fontSize: 14), + ), + ) + ], + ), ), ), PrimaryButtom( diff --git a/lib/src/screens/service.dart b/lib/src/screens/service.dart index 7bf4f8c..9a4c6e7 100644 --- a/lib/src/screens/service.dart +++ b/lib/src/screens/service.dart @@ -192,10 +192,32 @@ class _ServiceScreenState extends State { BitmapDescriptor? _markerIcon; + String _ciudad = '...'; + @override void initState() { super.initState(); + if (_ciudad == '...') { + AuthenticationRepository.instance + .getCity(uid.toString()) + .then((String s) { + if (s.isEmpty) { + FirebaseFirestore.instance.collection('users').doc(uid).set({ + 'city': 'Cúcuta', + }).then((_) { + setState(() { + _ciudad = 'Cúcuta'; + }); + }); + } else { + setState(() { + _ciudad = s; + }); + } + }); + } + _saveToken(); if (user == null) {