changes on login and user pages

main
Nilo Roberto C Paim 2023-10-06 08:21:57 -03:00
parent 1d70c21edc
commit 275a351985
2 changed files with 109 additions and 59 deletions

View File

@ -62,7 +62,7 @@ class _RegisterPageState extends State<RegisterPage> {
height: 32.0, height: 32.0,
), ),
SizedBox( SizedBox(
width: MediaQuery.of(context).size.width / 2, width: MediaQuery.of(context).size.width * 0.7,
child: Form( child: Form(
key: formKey, key: formKey,
child: Padding( child: Padding(
@ -73,64 +73,103 @@ class _RegisterPageState extends State<RegisterPage> {
), ),
child: Column( child: Column(
children: [ children: [
NCFormField( Row(
label: 'Nome', children: [
controller: name, Expanded(
validator: Validatorless.required('Nome é obrigatório'), child: NCFormField(
), label: 'Nome',
NCFormField( controller: name,
label: 'Empresa', validator: Validatorless.required('Nome é obrigatório'),
controller: companyname, ),
validator: Validatorless.required('Nome da empresa é obrigatório'), ),
), const SizedBox(width: 16.0),
NCFormField( Expanded(
label: 'Email', child: NCFormField(
controller: email, label: 'Email',
validator: Validatorless.multiple( controller: email,
[ validator: Validatorless.multiple(
Validatorless.email('Email inválido'), [
Validatorless.required('Email é obrigatório'), Validatorless.email('Email inválido'),
], Validatorless.required('Email é obrigatório'),
), ],
), ),
NCFormField( ),
label: 'CPF/CNPJ', ),
controller: cpfCnpj, ],
inputFormatters: [ ),
FilteringTextInputFormatter.digitsOnly, Row(
CpfOuCnpjFormatter(), children: [
Expanded(
child: NCFormField(
label: 'Empresa',
controller: companyname,
validator: Validatorless.required('Nome da empresa é obrigatório'),
),
),
const SizedBox(width: 16.0),
Expanded(
child: NCFormField(
label: 'CPF/CNPJ',
controller: cpfCnpj,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
CpfOuCnpjFormatter(),
],
validator: (value) {
if (value!.isEmpty) {
return 'CPF/CNPJ é obrigatório';
} else if (CPFValidator.isValid(value) || CNPJValidator.isValid(value)) {
return null;
}
return 'CPF ou CNPJ inválido';
},
),
),
], ],
validator: (value) {
if (value!.isEmpty) {
return 'CPF/CNPJ é obrigatório';
} else if (CPFValidator.isValid(value) || CNPJValidator.isValid(value)) {
return null;
}
return 'CPF ou CNPJ inválido';
},
), ),
NCFormField( NCFormField(
label: 'Site', label: 'Site',
controller: url, controller: url,
validator: Validatorless.required('Endereço do site é obrigatório'), // validator: Validatorless.required('Endereço do site é obrigatório'),
validator: (value) {
if (value!.isEmpty) {
return 'Endereço do site é obrigatório';
} else {
final regex = RegExp(
r'(([\w]+:)?//)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,63}(:[\d]+)?(/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?');
if (regex.hasMatch(value)) {
return null;
}
}
return 'Endereço do site inválido';
},
),
Row(
children: [
Expanded(
child: NCFormField(
label: 'Senha',
controller: password,
obscureText: true,
validator: Validatorless.required('Senha é obrigatória'),
),
),
const SizedBox(width: 16.0),
Expanded(
child: NCFormField(
label: 'Confirme Senha',
controller: password2,
obscureText: true,
validator: Validatorless.multiple([
Validatorless.required('Senha é obrigatória'),
Validatorless.compare(password, 'Senhas não conferem'),
]),
),
),
],
), ),
NCFormField( NCFormField(
label: 'Senha', label: 'Nome do canal desejado (sem espaços)',
controller: password,
obscureText: true,
validator: Validatorless.required('Senha é obrigatória'),
),
NCFormField(
label: 'Confirme Senha',
controller: password2,
obscureText: true,
validator: Validatorless.multiple([
Validatorless.required('Senha é obrigatória'),
Validatorless.compare(password, 'Senhas não conferem'),
]),
),
NCFormField(
label: 'Canal',
controller: channel, controller: channel,
validator: Validatorless.multiple([ validator: Validatorless.multiple([
Validatorless.required('Nome do canal é obrigatório'), Validatorless.required('Nome do canal é obrigatório'),

View File

@ -1,18 +1,29 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pcastlivetv/components/nc_base_page.dart'; import 'package:pcastlivetv/components/nc_base_page.dart';
import 'package:velocity_x/velocity_x.dart';
class UserPage extends StatelessWidget { class UserPage extends StatefulWidget {
const UserPage({super.key}); const UserPage({super.key});
@override
State<UserPage> createState() => _UserPageState();
}
class _UserPageState extends State<UserPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return const NcBasePage( return NcBasePage(
body: Center( body: Center(
child: Column( child: Padding(
mainAxisAlignment: MainAxisAlignment.center, padding: const EdgeInsets.all(60.0),
children: [ child: Column(
Text("User Page"), mainAxisAlignment: MainAxisAlignment.center,
], children: [
"Em breve todos os recursos da plataforma estarão disponíveis".text.bold.white.xl4.make(),
const SizedBox(height: 20),
"Estamos trabalhando para proporcionar a melhor experiência para você".text.bold.white.xl4.make(),
],
),
), ),
), ),
); );