tutear
This commit is contained in:
@@ -406,14 +406,14 @@ class _DrawerMenuState extends State<DrawerMenu> {
|
||||
user?.phoneNumber == null) {
|
||||
Get.snackbar(
|
||||
'Completa tu perfil',
|
||||
'Para ser un profesional registrado, completa tu perfil. No olvides guardar tus cambios para que sean efectivos.',
|
||||
'Para ser un profesional registrado, asegúrate de llenar todos los campos necesarios y no olvides guardar tus cambios para que surtan efecto.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
} else {
|
||||
if (currentUser?.phoneNumber != user?.phoneNumber) {
|
||||
Get.snackbar(
|
||||
'Número de teléfono sin cambios',
|
||||
'Tu número de teléfono no se ha actualizado. Para guardar los cambios, ve al apartado de perfil y presiona en "Guardar".',
|
||||
'Tu número de teléfono sigue sin cambios.',
|
||||
'Para guardar esta información, dirígete a tu perfil y selecciona la opción Guardar',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
} else {
|
||||
|
||||
@@ -352,7 +352,7 @@ class _CalendarScreenState extends State<CalendarScreen> {
|
||||
future: getByProId(DateFormat("yyyy-MM-dd 00:00:00.000").format(today)),
|
||||
builder: (BuildContext context, AsyncSnapshot<List<Event>> snapshot) {
|
||||
if (!snapshot.hasData) {
|
||||
return const Text('No tiene citas');
|
||||
return const Text('No tienes citas');
|
||||
}
|
||||
|
||||
List<Event> eventos = [];
|
||||
|
||||
@@ -152,7 +152,7 @@ class _CityScreenState extends State<CityScreen> {
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
label: 'Seleccione su ciudad'),
|
||||
label: 'Selecciona tu ciudad'),
|
||||
body: Column(
|
||||
children: [
|
||||
Padding(
|
||||
@@ -160,7 +160,7 @@ class _CityScreenState extends State<CityScreen> {
|
||||
child: TextField(
|
||||
controller: searchController,
|
||||
decoration: const InputDecoration(
|
||||
hintText: 'Buscar ciudad',
|
||||
hintText: 'Busca una ciudad',
|
||||
prefixIcon: Icon(Icons.near_me),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -40,7 +40,7 @@ class CodeValidationScreen extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
const Text(
|
||||
'Validar código',
|
||||
'Valida el código',
|
||||
style: TextStyle(
|
||||
color: Color(0xFF262626),
|
||||
fontSize: 38.0,
|
||||
@@ -121,7 +121,7 @@ class CodeValidationScreen extends StatelessWidget {
|
||||
onPressed: () {
|
||||
OTPController.instance.verifyOTP(otp);
|
||||
},
|
||||
label: 'Validar código',
|
||||
label: 'Valida el código',
|
||||
),
|
||||
const SizedBox(height: 30),
|
||||
],
|
||||
@@ -257,7 +257,7 @@ class CodeValidationScreen extends StatelessWidget {
|
||||
onPressed: () {
|
||||
OTPController.instance.verifyOTP(otp);
|
||||
},
|
||||
label: 'Validar código',
|
||||
label: 'Valida el código',
|
||||
),
|
||||
const SizedBox(height: 30),
|
||||
],
|
||||
|
||||
@@ -286,7 +286,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
),
|
||||
),
|
||||
const Text(
|
||||
'Un código será enviado a este numero de celular.',
|
||||
'Se enviará un código a este número de celular.',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 13.0,
|
||||
@@ -381,7 +381,7 @@ class GestureBottom extends StatelessWidget {
|
||||
Navigator.pushNamed(context, '/login');
|
||||
},
|
||||
child: const Text(
|
||||
'Entrar con correo electronico',
|
||||
'Inicia sesión con tu correo electrónico',
|
||||
style: TextStyle(
|
||||
fontSize: 15.0, color: Color(0xFF65676B),
|
||||
decoration: TextDecoration.underline, // Subrayado
|
||||
@@ -406,14 +406,14 @@ class RichTxTBottom extends StatelessWidget {
|
||||
fontFamily: 'Poppins',
|
||||
),
|
||||
children: [
|
||||
const TextSpan(text: 'No estas registrado? '),
|
||||
const TextSpan(text: '¿No estás registrado? '),
|
||||
WidgetSpan(
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
Navigator.pushNamed(context, '/register');
|
||||
},
|
||||
child: const Text(
|
||||
'Registrarse',
|
||||
'Regístrate',
|
||||
style: TextStyle(
|
||||
fontSize: 16.0,
|
||||
color: Color(0xFF2BA4EC),
|
||||
|
||||
@@ -114,7 +114,7 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'Entrar con Google ',
|
||||
'Entra con Google ',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.bold,
|
||||
@@ -179,7 +179,7 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
||||
obscureText: _obscureText,
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese una contraseña';
|
||||
return 'Por favor, ingresa una contraseña';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -383,7 +383,7 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
||||
obscureText: _obscureText,
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese una contraseña';
|
||||
return 'Por favor, ingresa una contraseña';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -466,12 +466,12 @@ class FormEmail extends StatelessWidget {
|
||||
controller: controller.email,
|
||||
validator: (String? value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese un email';
|
||||
return 'Por favor, ingresa un Email';
|
||||
}
|
||||
final RegExp emailRegExp =
|
||||
RegExp(r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$');
|
||||
if (!emailRegExp.hasMatch(value)) {
|
||||
return 'Por favor ingrese un email válido';
|
||||
return 'Por favor, ingresa un Email válido';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -551,7 +551,7 @@ class RichTxtBottom extends StatelessWidget {
|
||||
fontFamily: 'Poppins',
|
||||
),
|
||||
children: [
|
||||
const TextSpan(text: 'No estas registrado? '),
|
||||
const TextSpan(text: '¿No estás registrado? '),
|
||||
WidgetSpan(
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
|
||||
@@ -44,7 +44,7 @@ class _MessagesScreenState extends State<MessagesScreen> {
|
||||
child: TextField(
|
||||
// controller: searchController,
|
||||
decoration: InputDecoration(
|
||||
hintText: 'Escriba un nombre',
|
||||
hintText: 'Escribe un nombre',
|
||||
prefixIcon: Icon(CommunityMaterialIcons.stethoscope),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -45,7 +45,7 @@ class _MessagesUserScreenState extends State<MessagesUserScreen> {
|
||||
child: TextField(
|
||||
// controller: searchController,
|
||||
decoration: InputDecoration(
|
||||
hintText: 'Escriba un nombre',
|
||||
hintText: 'Escribe un nombre',
|
||||
prefixIcon: Icon(CommunityMaterialIcons.stethoscope),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -102,7 +102,7 @@ class _NewNumberScreenState extends State<NewNumberScreen> {
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(bottom: 30),
|
||||
child: Text(
|
||||
'Un código será enviado a este numero de celular.',
|
||||
'Se enviará un código a este número de celular',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 13.0, color: Color(0xFF65676B))),
|
||||
@@ -215,7 +215,7 @@ class _NewNumberScreenState extends State<NewNumberScreen> {
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(bottom: 30),
|
||||
child: Text(
|
||||
'Un código será enviado a este numero de celular.',
|
||||
'Se enviará un código a este número de celular',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 13.0, color: Color(0xFF65676B))),
|
||||
|
||||
@@ -49,7 +49,7 @@ class _NewNumberValidationScreenState extends State<NewNumberValidationScreen> {
|
||||
},
|
||||
),
|
||||
const Text(
|
||||
'Validar código',
|
||||
'Valida el código',
|
||||
style: TextStyle(
|
||||
color: Color(0xFF262626),
|
||||
fontSize: 38.0,
|
||||
@@ -98,7 +98,7 @@ class _NewNumberValidationScreenState extends State<NewNumberValidationScreen> {
|
||||
alignment: Alignment.topLeft,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(bottom: 5),
|
||||
child: Text('Codigo',
|
||||
child: Text('Código',
|
||||
textAlign: TextAlign.left,
|
||||
style:
|
||||
TextStyle(fontSize: 18.0, color: Color(0xFF65676B))),
|
||||
@@ -135,7 +135,7 @@ class _NewNumberValidationScreenState extends State<NewNumberValidationScreen> {
|
||||
minimumSize: const Size(230, 60), // Tamaño mínimo del botón
|
||||
),
|
||||
child: const Text(
|
||||
'Validar código',
|
||||
'Valida el código',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.bold,
|
||||
|
||||
@@ -32,7 +32,7 @@ class _NewPasswordScreenState extends State<NewPasswordScreen> {
|
||||
if (newPassword == currentPassword) {
|
||||
Get.snackbar(
|
||||
'Misma contraseña',
|
||||
'La nueva contraseña debe ser diferente a la contraseña actual.',
|
||||
'La nueva contraseña debe ser distinta a la contraseña actual.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -50,7 +50,7 @@ class _NewPasswordScreenState extends State<NewPasswordScreen> {
|
||||
// Muestra un mensaje de éxito
|
||||
Get.snackbar(
|
||||
'Contraseña actualizada',
|
||||
'La contraseña ha sido actualizada correctamente.',
|
||||
'Tu contraseña ha sido cambiada con éxito.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
} catch (e) {
|
||||
@@ -60,7 +60,7 @@ class _NewPasswordScreenState extends State<NewPasswordScreen> {
|
||||
} catch (e) {
|
||||
Get.snackbar(
|
||||
'Contraseña incorrecta',
|
||||
'Error al actualizar la contraseña asegurese de ingresar bien la contraseña actual.',
|
||||
'Ha ocurrido un error al actualizar la contraseña. Asegúrate de ingresar correctamente la contraseña actual.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -80,7 +80,7 @@ class _NewPasswordScreenState extends State<NewPasswordScreen> {
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
label: 'Cambie su contraseña',
|
||||
label: ' Cambia tu contraseña',
|
||||
),
|
||||
body: Center(
|
||||
child: SizedBox(
|
||||
|
||||
@@ -138,7 +138,7 @@ class _ProfessionScreenState extends State<ProfessionScreen> {
|
||||
child: TextField(
|
||||
controller: searchController,
|
||||
decoration: const InputDecoration(
|
||||
hintText: 'Buscar su profesión',
|
||||
hintText: 'Busca tu profesión',
|
||||
prefixIcon: Icon(Icons.assignment_ind_rounded),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -206,7 +206,7 @@ class _ProfessionalDireccionScreenState
|
||||
setState(() {});
|
||||
} catch (e) {
|
||||
Get.snackbar(
|
||||
'ubicación desactivada',
|
||||
'Ubicación desactivada',
|
||||
'Por favor activa la ubicacion de tu telefono.',
|
||||
snackPosition: SnackPosition.TOP,
|
||||
);
|
||||
|
||||
@@ -422,7 +422,8 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
especializacion.split(',').map((e) => e.trim()).toList();
|
||||
|
||||
if (cedula.isEmpty) {
|
||||
_showCustomSnackBar(context, 'Por favor, ingrese el número de cédula.');
|
||||
_showCustomSnackBar(
|
||||
context, 'Por favor, adjunta el documento PDF de tu cédula.');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -434,7 +435,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
|
||||
if (image_certificado == null) {
|
||||
_showCustomSnackBar(context,
|
||||
'Por favor, adjunte el documento PDF de su certificado. ¡Gracias por su colaboración!');
|
||||
'Por favor, adjunta el documento PDF de tu certificado. ¡Gracias por tu colaboración!');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -770,7 +771,7 @@ class ProfessionalProfileScreenState extends State<ProfessionalProfileScreen> {
|
||||
SizedBox(width: 15),
|
||||
Expanded(
|
||||
child: Text(
|
||||
'¡Importante! Solo aceptamos archivos en formato PDF. Si desea agregar más de una especialidad, envíe archivos adicionales separados por comas (,). ¡Gracias!',
|
||||
'Si tienes más de una especialidad, por favor, adjunta un archivo con el diploma de respaldo para cada una de ellas y sepáralos por comas. ¡Gracias!',
|
||||
style: TextStyle(color: Colors.black, fontSize: 14),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -645,7 +645,7 @@ class _ProfessionalProfileWebScreenState
|
||||
SizedBox(width: 15),
|
||||
Expanded(
|
||||
child: Text(
|
||||
'Para añadir mas de una especialidad, envie mas fotos y separe por comas (,).',
|
||||
'Si tienes más de una especialidad, por favor, adjunta un archivo con el diploma de respaldo para cada una de ellas y sepáralos por comas. ¡Gracias!',
|
||||
style: TextStyle(
|
||||
color: Colors.black, fontSize: 14),
|
||||
),
|
||||
|
||||
@@ -71,7 +71,7 @@ class _ProfessionalRevisionScreenState
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
'Gracias por proporcionar su información. Actualmente, estamos revisando sus datos y una vez aprobados, podrá acceder al perfil profesional sin problemas. Le notificaremos tan pronto como su cuenta esté lista. ¡Gracias por su paciencia!.',
|
||||
'Gracias por proporcionar tu información. Actualmente, estamos revisando tus datos y una vez aprobados, podrás acceder al perfil profesional sin problemas. Te notificaremos tan pronto como tu cuenta esté lista. ¡Gracias por tu paciencia!',
|
||||
style: TextStyle(
|
||||
fontSize: 14,
|
||||
),
|
||||
|
||||
@@ -86,7 +86,6 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
||||
.collection('users')
|
||||
.doc(uid)
|
||||
.update({'photo': image});
|
||||
|
||||
} catch (e) {
|
||||
try {
|
||||
await FirebaseFirestore.instance
|
||||
@@ -222,7 +221,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
||||
// Si el nuevo nombre está vacío, no lo actualizamos y mostramos un mensaje al usuario
|
||||
Get.snackbar(
|
||||
'Nombre Invalido',
|
||||
'Ingrese un nombre válido.',
|
||||
'Ingresa un nombre válido.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -232,7 +231,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
||||
// Si el nuevo email está vacío, no lo actualizamos y mostramos un mensaje al usuario
|
||||
Get.snackbar(
|
||||
'Correo Invalido',
|
||||
'Ingrese un email válido.',
|
||||
'Ingresa un email válido.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -259,7 +258,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
||||
} else {
|
||||
Get.snackbar(
|
||||
'Contraseña Invalida',
|
||||
'Porfavor ingrese una contraseña.',
|
||||
'Porfavor ingresa una contraseña.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
}
|
||||
@@ -305,7 +304,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
||||
} catch (e) {
|
||||
Get.snackbar(
|
||||
'Agregar correo',
|
||||
'Inicie sesión para asegurarnos de que seas tú .',
|
||||
'Inicia sesión para asegurarnos de que seas tú.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
AuthenticationRepository.instance.logout(uid!);
|
||||
|
||||
@@ -276,7 +276,7 @@ class _ProfileProScreenState extends State<ProfileProScreen> {
|
||||
|
||||
Get.snackbar(
|
||||
'Información actualizada',
|
||||
'Su información a sido actualizada con exito.',
|
||||
'Tu información ha sido actualizada con éxito.',
|
||||
snackPosition: SnackPosition.TOP,
|
||||
);
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ class _ProfileProWebScreenState extends State<ProfileProWebScreen> {
|
||||
|
||||
Get.snackbar(
|
||||
'Información actualizada',
|
||||
'Su información a sido actualizada con exito.',
|
||||
'Tu información a sido actualizada con exito.',
|
||||
snackPosition: SnackPosition.TOP,
|
||||
);
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
|
||||
// Si el nuevo nombre está vacío, no lo actualizamos y mostramos un mensaje al usuario
|
||||
Get.snackbar(
|
||||
'Nombre Invalido',
|
||||
'Ingrese un nombre válido.',
|
||||
'Ingresa un nombre válido.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -161,7 +161,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
|
||||
// Si el nuevo nombre está vacío, no lo actualizamos y mostramos un mensaje al usuario
|
||||
Get.snackbar(
|
||||
'Correo Invalido',
|
||||
'Ingrese un email válido.',
|
||||
'Ingresa un email válido.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
return;
|
||||
@@ -186,7 +186,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
|
||||
} else {
|
||||
Get.snackbar(
|
||||
'Contraseña Invalida',
|
||||
'Porfavor ingrese una contraseña.',
|
||||
'Por favor, ingresa una contraseña.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
}
|
||||
@@ -262,7 +262,7 @@ class _ProfileWebScreenState extends State<ProfileWebScreen> {
|
||||
} catch (e) {
|
||||
Get.snackbar(
|
||||
'Agregar correo',
|
||||
'Inicie sesión para asegurarnos de que seas tú .',
|
||||
'Inicia sesión para asegurarnos de que seas tú.',
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
AuthenticationRepository.instance.logout(uid!);
|
||||
|
||||
@@ -201,12 +201,12 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
||||
controller: controller.email,
|
||||
validator: (String? value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese un email';
|
||||
return 'Por favor ingresa un email';
|
||||
}
|
||||
final RegExp emailRegExp = RegExp(
|
||||
r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$');
|
||||
if (!emailRegExp.hasMatch(value)) {
|
||||
return 'Por favor ingrese un email válido';
|
||||
return 'Por favor ingresa un email válido';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -259,7 +259,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
||||
obscureText: _obscureText,
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese una contraseña';
|
||||
return 'Por favor ingresa una contraseña';
|
||||
}
|
||||
if (value.length <= 6) {
|
||||
return 'Contraseña muy corta';
|
||||
@@ -499,12 +499,12 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
||||
controller: controller.email,
|
||||
validator: (String? value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese un email';
|
||||
return 'Por favor ingresa un email';
|
||||
}
|
||||
final RegExp emailRegExp = RegExp(
|
||||
r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$');
|
||||
if (!emailRegExp.hasMatch(value)) {
|
||||
return 'Por favor ingrese un email válido';
|
||||
return 'Por favor ingresa un email válido';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -557,7 +557,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
||||
obscureText: _obscureText,
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Por favor ingrese una contraseña';
|
||||
return 'Por favor ingresa una contraseña';
|
||||
}
|
||||
if (value.length <= 6) {
|
||||
return 'Contraseña muy corta';
|
||||
|
||||
Reference in New Issue
Block a user