Primary button component
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class PrimaryButtom extends StatelessWidget {
|
||||||
|
final VoidCallback onPressed;
|
||||||
|
final String label;
|
||||||
|
|
||||||
|
const PrimaryButtom(
|
||||||
|
{super.key, required this.onPressed, required this.label});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ElevatedButton(
|
||||||
|
onPressed: onPressed,
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: const Color(0xFF2BA4EC),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
elevation: 0,
|
||||||
|
minimumSize: const Size(230, 60),
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
label,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
fontSize: 18,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@ import 'package:prosappco/src/authentication/authentication_repository.dart';
|
|||||||
class RegisterController extends GetxController {
|
class RegisterController extends GetxController {
|
||||||
static RegisterController get instance => Get.find();
|
static RegisterController get instance => Get.find();
|
||||||
|
|
||||||
final name = TextEditingController();
|
|
||||||
final email = TextEditingController();
|
final email = TextEditingController();
|
||||||
final password = TextEditingController();
|
final password = TextEditingController();
|
||||||
|
|
||||||
|
|||||||
+15
-29
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:intl_phone_field/intl_phone_field.dart';
|
import 'package:intl_phone_field/intl_phone_field.dart';
|
||||||
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
||||||
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/phone_auth_controller.dart';
|
import 'package:prosappco/src/controllers/phone_auth_controller.dart';
|
||||||
import 'package:prosappco/src/screens/code_validation.dart';
|
import 'package:prosappco/src/screens/code_validation.dart';
|
||||||
import 'package:prosappco/src/screens/login_email.dart';
|
import 'package:prosappco/src/screens/login_email.dart';
|
||||||
@@ -122,37 +123,22 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
style: TextStyle(fontSize: 13.0, color: Color(0xFF65676B))),
|
style: TextStyle(fontSize: 13.0, color: Color(0xFF65676B))),
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(bottom: 30),
|
padding: const EdgeInsets.only(bottom: 30),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: ElevatedButton(
|
child: PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
PhoneAuthController.instance.phoneAuthentication(
|
PhoneAuthController.instance.phoneAuthentication(
|
||||||
completePhoneNumber.trim(),
|
completePhoneNumber.trim(),
|
||||||
);
|
);
|
||||||
Get.to(() => CodeValidationScreen(
|
Get.to(() => CodeValidationScreen(
|
||||||
phoneNumber: completePhoneNumber.trim(),
|
phoneNumber: completePhoneNumber.trim(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Text(
|
label: 'Enviar código',
|
||||||
'Enviar código',
|
|
||||||
style: TextStyle(
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
fontSize: 18,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
style: ElevatedButton.styleFrom(
|
),
|
||||||
primary: Color(0xFF2BA4EC), // Color del botón
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(50), // Bordes redondeados
|
|
||||||
),
|
|
||||||
elevation: 0,
|
|
||||||
minimumSize: Size(230, 60), // Tamaño mínimo del botón
|
|
||||||
),
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(bottom: 27),
|
padding: EdgeInsets.only(bottom: 27),
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:prosappco/main.dart';
|
import 'package:prosappco/main.dart';
|
||||||
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
||||||
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/login_email_controller.dart';
|
import 'package:prosappco/src/controllers/login_email_controller.dart';
|
||||||
import 'package:prosappco/src/screens/login.dart';
|
import 'package:prosappco/src/screens/login.dart';
|
||||||
import 'package:prosappco/src/screens/welcome.dart';
|
import 'package:prosappco/src/screens/welcome.dart';
|
||||||
@@ -215,30 +216,8 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 40),
|
padding: const EdgeInsets.only(bottom: 40),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: ElevatedButton(
|
child: PrimaryButtom(onPressed: () {}, label: 'Iniciar'),
|
||||||
onPressed: () {
|
),
|
||||||
// controller.validateData(
|
|
||||||
// context,
|
|
||||||
// controller.email.text.trim(),
|
|
||||||
// controller.password.text.trim());
|
|
||||||
},
|
|
||||||
child: Text(
|
|
||||||
'Iniciar',
|
|
||||||
style: TextStyle(
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
fontSize: 18,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
style: ElevatedButton.styleFrom(
|
|
||||||
primary: Color(0xFF2BA4EC),
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
elevation: 0,
|
|
||||||
minimumSize: Size(230, 60),
|
|
||||||
),
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
RichText(
|
RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:prosappco/main.dart';
|
import 'package:prosappco/main.dart';
|
||||||
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
||||||
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/register_controller.dart';
|
import 'package:prosappco/src/controllers/register_controller.dart';
|
||||||
import 'package:prosappco/src/screens/login.dart';
|
import 'package:prosappco/src/screens/login.dart';
|
||||||
import 'package:prosappco/src/screens/welcome.dart';
|
import 'package:prosappco/src/screens/welcome.dart';
|
||||||
@@ -138,37 +139,6 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
key: _formKey,
|
key: _formKey,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
// const Padding(
|
|
||||||
// padding: EdgeInsets.only(bottom: 5),
|
|
||||||
// child: Align(
|
|
||||||
// alignment: Alignment.topLeft,
|
|
||||||
// child: Text('Nombre',
|
|
||||||
// style: TextStyle(
|
|
||||||
// fontSize: 18.0, color: Color(0xFF65676B))),
|
|
||||||
// )),
|
|
||||||
// Padding(
|
|
||||||
// padding: EdgeInsets.only(bottom: 18),
|
|
||||||
// child: TextFormField(
|
|
||||||
// controller: controller.name,
|
|
||||||
// decoration: InputDecoration(
|
|
||||||
// enabledBorder: OutlineInputBorder(
|
|
||||||
// borderSide:
|
|
||||||
// BorderSide(color: Color(0xFFECECEC)),
|
|
||||||
// borderRadius: BorderRadius.all(
|
|
||||||
// Radius.circular(50),
|
|
||||||
// )),
|
|
||||||
// focusedBorder: OutlineInputBorder(
|
|
||||||
// borderSide:
|
|
||||||
// BorderSide(color: Color(0xFFECECEC)),
|
|
||||||
// borderRadius: BorderRadius.all(
|
|
||||||
// Radius.circular(50),
|
|
||||||
// )),
|
|
||||||
// hintText: 'Nombre y Apellido',
|
|
||||||
// fillColor: Color.fromARGB(255, 239, 239, 239),
|
|
||||||
// filled: true,
|
|
||||||
// prefixIcon: Icon(Icons.person_outline)),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
const Padding(
|
const Padding(
|
||||||
padding: EdgeInsets.only(bottom: 5),
|
padding: EdgeInsets.only(bottom: 5),
|
||||||
child: Align(
|
child: Align(
|
||||||
@@ -209,7 +179,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
fontSize: 18.0, color: Color(0xFF65676B))),
|
fontSize: 18.0, color: Color(0xFF65676B))),
|
||||||
)),
|
)),
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(bottom: 25),
|
padding: const EdgeInsets.only(bottom: 25),
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
controller: controller.password,
|
controller: controller.password,
|
||||||
obscureText: _obscureText,
|
obscureText: _obscureText,
|
||||||
@@ -251,31 +221,17 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 25),
|
padding: const EdgeInsets.only(bottom: 25),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: ElevatedButton(
|
child: PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
RegisterController.instance.registerUser(
|
RegisterController.instance.registerUser(
|
||||||
controller.email.text.trim(),
|
controller.email.text.trim(),
|
||||||
controller.password.text.trim());
|
controller.password.text.trim());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Text(
|
label: 'Registrarme',
|
||||||
'Registrarme',
|
|
||||||
style: TextStyle(
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
fontSize: 18,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
style: ElevatedButton.styleFrom(
|
),
|
||||||
primary: Color(0xFF2BA4EC),
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(50),
|
|
||||||
),
|
|
||||||
elevation: 0,
|
|
||||||
minimumSize: Size(230, 60),
|
|
||||||
),
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
RichText(
|
RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
|
|||||||
Reference in New Issue
Block a user