This commit is contained in:
Felipe
2023-10-24 14:49:48 -05:00
parent 5e5301412a
commit 20bd588176
6 changed files with 417 additions and 324 deletions
+22 -20
View File
@@ -378,26 +378,8 @@ class _DrawerMenuState extends State<DrawerMenu> {
], ],
), ),
), ),
Row( Column(
children: [ children: [
const SizedBox(width: 10),
ElevatedButton(
onPressed: () {
AuthenticationRepository.instance.logout(uid!);
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,
shape: const CircleBorder(),
elevation: 3,
minimumSize: const Size(45, 45),
),
child: const Icon(
Icons.logout_outlined,
color: Colors.red,
size: 35,
),
),
const SizedBox(width: 5),
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
if (user?.name == '' || if (user?.name == '' ||
@@ -442,7 +424,7 @@ class _DrawerMenuState extends State<DrawerMenu> {
borderRadius: BorderRadius.circular(50), borderRadius: BorderRadius.circular(50),
), ),
elevation: 0, elevation: 0,
minimumSize: const Size(200, 45), minimumSize: const Size(230, 45),
), ),
child: const Text( child: const Text(
'Modo profesional', 'Modo profesional',
@@ -452,6 +434,26 @@ class _DrawerMenuState extends State<DrawerMenu> {
), ),
), ),
), ),
const SizedBox(height: 10),
ElevatedButton(
onPressed: () {
AuthenticationRepository.instance.logout(uid!);
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.red,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
),
minimumSize: const Size(230, 40),
),
child: const Text(
'Cerrar Sesión',
style: TextStyle(
color: Colors.white,
fontSize: 15,
),
),
),
], ],
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
+64 -50
View File
@@ -172,58 +172,69 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
fontSize: 18.0, color: Color(0xFF65676B))), fontSize: 18.0, color: Color(0xFF65676B))),
), ),
), ),
TextFormField(
controller: controller.password,
obscureText: _obscureText,
validator: (value) {
if (value == null || value.isEmpty) {
return 'Por favor, ingresa una contraseña';
}
return null;
},
decoration: InputDecoration(
enabledBorder: const OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
focusedBorder: const OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
border: const OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Color.fromARGB(255, 184, 0, 0)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
hintText: 'Contraseña',
fillColor: const Color.fromARGB(255, 239, 239, 239),
filled: true,
prefixIcon: const Icon(Icons.lock_outline),
suffixIcon: IconButton(
icon: Icon(
_obscureText
? Icons.visibility
: Icons.visibility_off,
color: Colors.grey,
),
onPressed: () {
setState(() {
_obscureText = !_obscureText;
});
},
),
hintStyle: const TextStyle(
color: Colors.grey,
),
),
),
Padding( Padding(
padding: const EdgeInsets.only(bottom: 50), padding: const EdgeInsets.symmetric(vertical: 20),
child: TextFormField( child: TextButton(
controller: controller.password, onPressed: () {
obscureText: _obscureText, // Agrega aquí la lógica para manejar la recuperación de contraseña
validator: (value) {
if (value == null || value.isEmpty) {
return 'Por favor, ingresa una contraseña';
}
return null;
}, },
decoration: InputDecoration( child: const Text(
enabledBorder: const OutlineInputBorder( 'Olvidé la contraseña',
borderSide: style: TextStyle(
BorderSide(color: Color(0xFFECECEC)), color: Colors.blue,
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
focusedBorder: const OutlineInputBorder(
borderSide:
BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
border: const OutlineInputBorder(
borderSide:
BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
errorBorder: const OutlineInputBorder(
borderSide: BorderSide(
color: Color.fromARGB(255, 184, 0, 0)),
borderRadius: BorderRadius.all(
Radius.circular(50),
)),
hintText: 'Contraseña',
fillColor: const Color.fromARGB(255, 239, 239, 239),
filled: true,
prefixIcon: const Icon(Icons.lock_outline),
suffixIcon: IconButton(
icon: Icon(
_obscureText
? Icons.visibility
: Icons.visibility_off,
color: Colors.grey,
),
onPressed: () {
setState(() {
_obscureText = !_obscureText;
});
},
), ),
), ),
), ),
@@ -500,6 +511,9 @@ class FormEmail extends StatelessWidget {
fillColor: Color.fromARGB(255, 239, 239, 239), fillColor: Color.fromARGB(255, 239, 239, 239),
filled: true, filled: true,
prefixIcon: Icon(Icons.email_outlined), prefixIcon: Icon(Icons.email_outlined),
hintStyle: TextStyle(
color: Colors.grey,
),
), ),
), ),
); );
+74 -61
View File
@@ -211,36 +211,39 @@ class _RegisterScreenState extends State<RegisterScreen> {
return null; return null;
}, },
decoration: const InputDecoration( decoration: const InputDecoration(
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide( borderSide:
color: Color(0xFFECECEC)), BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
enabledBorder: OutlineInputBorder( enabledBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide:
color: Color(0xFFECECEC)), BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide:
color: Color(0xFFECECEC)), BorderSide(color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
errorBorder: OutlineInputBorder( errorBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
color: color:
Color.fromARGB(255, 184, 0, 0)), Color.fromARGB(255, 184, 0, 0)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
hintText: 'Hello@gmail.com', hintText: 'Hello@gmail.com',
fillColor: fillColor: Color.fromARGB(255, 239, 239, 239),
Color.fromARGB(255, 239, 239, 239), filled: true,
filled: true, prefixIcon: Icon(Icons.email_outlined),
prefixIcon: Icon(Icons.email_outlined)), hintStyle: TextStyle(
color: Colors.grey,
),
),
), ),
), ),
const Padding( const Padding(
@@ -293,6 +296,9 @@ class _RegisterScreenState extends State<RegisterScreen> {
Radius.circular(50), Radius.circular(50),
)), )),
hintText: 'Contraseña', hintText: 'Contraseña',
hintStyle: const TextStyle(
color: Colors.grey,
),
fillColor: fillColor:
const Color.fromARGB(255, 239, 239, 239), const Color.fromARGB(255, 239, 239, 239),
filled: true, filled: true,
@@ -317,7 +323,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
), ),
), ),
Padding( Padding(
padding: const EdgeInsets.symmetric(vertical: 20), padding: const EdgeInsets.only(bottom: 20),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment mainAxisAlignment: MainAxisAlignment
.center, // Centra horizontalmente .center, // Centra horizontalmente
@@ -509,36 +515,40 @@ class _RegisterScreenState extends State<RegisterScreen> {
return null; return null;
}, },
decoration: const InputDecoration( decoration: const InputDecoration(
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
color: Color(0xFFECECEC)), color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
enabledBorder: OutlineInputBorder( enabledBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
color: Color(0xFFECECEC)), color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
color: Color(0xFFECECEC)), color: Color(0xFFECECEC)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
errorBorder: OutlineInputBorder( errorBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
color: Color.fromARGB( color: Color.fromARGB(
255, 184, 0, 0)), 255, 184, 0, 0)),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(50), Radius.circular(50),
)), )),
hintText: 'Hello@gmail.com', hintText: 'Hello@gmail.com',
fillColor: fillColor:
Color.fromARGB(255, 239, 239, 239), Color.fromARGB(255, 239, 239, 239),
filled: true, filled: true,
prefixIcon: Icon(Icons.email_outlined)), prefixIcon: Icon(Icons.email_outlined),
hintStyle: TextStyle(
color: Colors.grey,
),
),
), ),
), ),
const Padding( const Padding(
@@ -591,6 +601,9 @@ class _RegisterScreenState extends State<RegisterScreen> {
Radius.circular(50), Radius.circular(50),
)), )),
hintText: 'Contraseña', hintText: 'Contraseña',
hintStyle: const TextStyle(
color: Colors.grey,
),
fillColor: const Color.fromARGB( fillColor: const Color.fromARGB(
255, 239, 239, 239), 255, 239, 239, 239),
filled: true, filled: true,
+249 -193
View File
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,9 @@
#include <audioplayers_windows/audioplayers_windows_plugin.h> #include <audioplayers_windows/audioplayers_windows_plugin.h>
#include <awesome_notifications/awesome_notifications_plugin_c_api.h> #include <awesome_notifications/awesome_notifications_plugin_c_api.h>
#include <cloud_firestore/cloud_firestore_plugin_c_api.h>
#include <file_selector_windows/file_selector_windows.h> #include <file_selector_windows/file_selector_windows.h>
#include <firebase_auth/firebase_auth_plugin_c_api.h>
#include <firebase_core/firebase_core_plugin_c_api.h> #include <firebase_core/firebase_core_plugin_c_api.h>
#include <geolocator_windows/geolocator_windows.h> #include <geolocator_windows/geolocator_windows.h>
#include <url_launcher_windows/url_launcher_windows.h> #include <url_launcher_windows/url_launcher_windows.h>
@@ -18,8 +20,12 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin")); registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
AwesomeNotificationsPluginCApiRegisterWithRegistrar( AwesomeNotificationsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AwesomeNotificationsPluginCApi")); registry->GetRegistrarForPlugin("AwesomeNotificationsPluginCApi"));
CloudFirestorePluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("CloudFirestorePluginCApi"));
FileSelectorWindowsRegisterWithRegistrar( FileSelectorWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FileSelectorWindows")); registry->GetRegistrarForPlugin("FileSelectorWindows"));
FirebaseAuthPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FirebaseAuthPluginCApi"));
FirebaseCorePluginCApiRegisterWithRegistrar( FirebaseCorePluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
GeolocatorWindowsRegisterWithRegistrar( GeolocatorWindowsRegisterWithRegistrar(
+2
View File
@@ -5,7 +5,9 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
audioplayers_windows audioplayers_windows
awesome_notifications awesome_notifications
cloud_firestore
file_selector_windows file_selector_windows
firebase_auth
firebase_core firebase_core
geolocator_windows geolocator_windows
url_launcher_windows url_launcher_windows