Primary button component

This commit is contained in:
Juan Felipe Duarte
2023-04-12 14:29:37 -05:00
parent c72f346db7
commit 30f6985711
5 changed files with 62 additions and 110 deletions
+32
View File
@@ -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 {
static RegisterController get instance => Get.find();
final name = TextEditingController();
final email = TextEditingController();
final password = TextEditingController();
+15 -29
View File
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intl_phone_field/intl_phone_field.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/screens/code_validation.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))),
),
Padding(
padding: EdgeInsets.only(bottom: 30),
padding: const EdgeInsets.only(bottom: 30),
child: Center(
child: ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) {
PhoneAuthController.instance.phoneAuthentication(
completePhoneNumber.trim(),
);
Get.to(() => CodeValidationScreen(
phoneNumber: completePhoneNumber.trim(),
));
}
},
child: Text(
'Enviar código',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18,
),
child: PrimaryButtom(
onPressed: () {
if (_formKey.currentState!.validate()) {
PhoneAuthController.instance.phoneAuthentication(
completePhoneNumber.trim(),
);
Get.to(() => CodeValidationScreen(
phoneNumber: completePhoneNumber.trim(),
));
}
},
label: 'Enviar código',
),
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: EdgeInsets.only(bottom: 27),
+3 -24
View File
@@ -3,6 +3,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart';
import 'package:prosappco/main.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/screens/login.dart';
import 'package:prosappco/src/screens/welcome.dart';
@@ -215,30 +216,8 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
Padding(
padding: const EdgeInsets.only(bottom: 40),
child: Center(
child: ElevatedButton(
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),
),
)),
child: PrimaryButtom(onPressed: () {}, label: 'Iniciar'),
),
),
RichText(
text: TextSpan(
+12 -56
View File
@@ -4,6 +4,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart';
import 'package:prosappco/main.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/screens/login.dart';
import 'package:prosappco/src/screens/welcome.dart';
@@ -138,37 +139,6 @@ class _RegisterScreenState extends State<RegisterScreen> {
key: _formKey,
child: Column(
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(
padding: EdgeInsets.only(bottom: 5),
child: Align(
@@ -209,7 +179,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
fontSize: 18.0, color: Color(0xFF65676B))),
)),
Padding(
padding: EdgeInsets.only(bottom: 25),
padding: const EdgeInsets.only(bottom: 25),
child: TextFormField(
controller: controller.password,
obscureText: _obscureText,
@@ -251,31 +221,17 @@ class _RegisterScreenState extends State<RegisterScreen> {
Padding(
padding: const EdgeInsets.only(bottom: 25),
child: Center(
child: ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) {
RegisterController.instance.registerUser(
controller.email.text.trim(),
controller.password.text.trim());
}
},
child: Text(
'Registrarme',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18,
),
child: PrimaryButtom(
onPressed: () {
if (_formKey.currentState!.validate()) {
RegisterController.instance.registerUser(
controller.email.text.trim(),
controller.password.text.trim());
}
},
label: 'Registrarme',
),
style: ElevatedButton.styleFrom(
primary: Color(0xFF2BA4EC),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50),
),
elevation: 0,
minimumSize: Size(230, 60),
),
)),
),
),
RichText(
text: TextSpan(