From cce805664e30e865ad6e4e91462686eb9dec217a Mon Sep 17 00:00:00 2001 From: Felipe Date: Thu, 21 Dec 2023 15:54:22 -0500 Subject: [PATCH] update --- lib/src/presentation/screens/map/service.dart | 35 +++++++++++++++++-- .../presentation/screens/profile/profile.dart | 22 +++++++----- .../presentation/screens/service_type.dart | 12 ------- 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/lib/src/presentation/screens/map/service.dart b/lib/src/presentation/screens/map/service.dart index d3acb81..1446f29 100644 --- a/lib/src/presentation/screens/map/service.dart +++ b/lib/src/presentation/screens/map/service.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -86,6 +87,9 @@ class _ServiceScreenState extends State { String? settings; + late final FirebaseAuth _auth; + final _nameController = TextEditingController(); + @override void initState() { super.initState(); @@ -94,12 +98,17 @@ class _ServiceScreenState extends State { getLocationUpdates(); - print('App version: 2 $settings'); + _auth = FirebaseAuth.instance; + + final currentUser = _auth.currentUser; + + if (currentUser != null && currentUser.displayName != null) { + _nameController.text = currentUser.displayName!; + } + if (settings == null) { SettingModel.getSettings().then( (SettingModel value) => (value) { - print('App version:3 $value'); - if (mounted) { setState(() { settings = value.version; @@ -329,6 +338,16 @@ class _ServiceScreenState extends State { controller: _serviceTypeController, readOnly: true, onTap: () async { + if (_nameController.text == '') { + WarningSnackbar.show( + title: 'Completa tu perfil', + message: + 'Asegurate de llenar todos los campos de tu perfil antes de seleccionar un tipo de servicio.', + ); + + return; + } + final String? serviceType = await Navigator.push( context, CupertinoPageRoute( @@ -459,6 +478,16 @@ class _ServiceScreenState extends State { return; } + if (_nameController.text == '') { + WarningSnackbar.show( + title: 'Completa tu perfil', + message: + 'Asegurate de llenar todos los campos de tu perfil antes de seleccionar un profesional.', + ); + + return; + } + datos = await Navigator.push( context, CupertinoPageRoute( diff --git a/lib/src/presentation/screens/profile/profile.dart b/lib/src/presentation/screens/profile/profile.dart index 0b580a4..199a660 100644 --- a/lib/src/presentation/screens/profile/profile.dart +++ b/lib/src/presentation/screens/profile/profile.dart @@ -740,7 +740,9 @@ class _ProfileScreenState extends State { hintText: '+57', ), ), - const SizedBox(height: 20.0), + genderDb == '' + ? const SizedBox(height: 20.0) + : const SizedBox(), genderDb == '' ? GenderDropdown( onChanged: (selectedGender) { @@ -767,7 +769,10 @@ class _ProfileScreenState extends State { ), ) : const SizedBox(), - _email != null + _email != null && _email != '' + ? const SizedBox(height: 20.0) + : const SizedBox(), + _email != null && _email != '' ? TextFormField( onTap: () { _showEmailUpdateDialog(context); @@ -775,12 +780,13 @@ class _ProfileScreenState extends State { readOnly: true, controller: _emailController, decoration: const InputDecoration( - prefixIcon: Icon(Icons.email_outlined), - hintText: 'Email (Obligatorio)'), + prefixIcon: Icon(Icons.email_outlined), + hintText: 'Email (Obligatorio)', + ), ) : const SizedBox(), const SizedBox(height: 20), - _email == null + _email == null || _email == '' ? PrimaryCheckbox( text: 'Habilitar inicio de sesión con correo (Opcional)', @@ -828,7 +834,7 @@ class _ProfileScreenState extends State { ), ), const SizedBox(height: 20.0), - _email != null + _email != null && _email != '' ? const SizedBox.shrink() : TextFormField( controller: _passwordController, @@ -866,7 +872,7 @@ class _ProfileScreenState extends State { ), hintText: 'Contraseña'), ), - _email != null + _email != null && _email != '' ? const SizedBox.shrink() : const SizedBox(height: 20), Container( @@ -924,7 +930,7 @@ class _ProfileScreenState extends State { padding: const EdgeInsets.only(bottom: 30), child: Column( children: [ - _email != null + _email != null && _email != '' ? PrimaryButton( onPressed: () { Navigator.push( diff --git a/lib/src/presentation/screens/service_type.dart b/lib/src/presentation/screens/service_type.dart index 47fc79b..ed4a247 100644 --- a/lib/src/presentation/screens/service_type.dart +++ b/lib/src/presentation/screens/service_type.dart @@ -3,7 +3,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:prosappco/src/components/pop_appbar.dart'; import 'package:prosappco/src/presentation/screens/profession.dart'; -import 'package:prosappco/src/presentation/screens/professional.dart'; class ServiceTypeScreen extends StatefulWidget { const ServiceTypeScreen({super.key}); @@ -88,17 +87,6 @@ class _ServiceTypeScreenState extends State { ), onTap: () { Navigator.pop(context, professions[index]); - - // Navigator.push( - // context, - // CupertinoPageRoute( - // builder: (BuildContext context) { - // return ProfessionalScreen( - // profession: professions[index], - // ); - // }, - // ), - // ); }, ); },