From 275a35198584546f3ef7b38501cdc03496988ee4 Mon Sep 17 00:00:00 2001 From: Nilo Roberto C Paim Date: Fri, 6 Oct 2023 08:21:57 -0300 Subject: [PATCH] changes on login and user pages --- lib/pages/register_page.dart | 143 ++++++++++++++++++++++------------- lib/pages/user_page.dart | 25 ++++-- 2 files changed, 109 insertions(+), 59 deletions(-) diff --git a/lib/pages/register_page.dart b/lib/pages/register_page.dart index 5373baf..988c0fa 100644 --- a/lib/pages/register_page.dart +++ b/lib/pages/register_page.dart @@ -62,7 +62,7 @@ class _RegisterPageState extends State { height: 32.0, ), SizedBox( - width: MediaQuery.of(context).size.width / 2, + width: MediaQuery.of(context).size.width * 0.7, child: Form( key: formKey, child: Padding( @@ -73,64 +73,103 @@ class _RegisterPageState extends State { ), child: Column( children: [ - NCFormField( - label: 'Nome', - controller: name, - validator: Validatorless.required('Nome é obrigatório'), - ), - NCFormField( - label: 'Empresa', - controller: companyname, - validator: Validatorless.required('Nome da empresa é obrigatório'), - ), - NCFormField( - label: 'Email', - controller: email, - validator: Validatorless.multiple( - [ - Validatorless.email('Email inválido'), - Validatorless.required('Email é obrigatório'), - ], - ), - ), - NCFormField( - label: 'CPF/CNPJ', - controller: cpfCnpj, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly, - CpfOuCnpjFormatter(), + Row( + children: [ + Expanded( + child: NCFormField( + label: 'Nome', + controller: name, + validator: Validatorless.required('Nome é obrigatório'), + ), + ), + const SizedBox(width: 16.0), + Expanded( + child: NCFormField( + label: 'Email', + controller: email, + validator: Validatorless.multiple( + [ + Validatorless.email('Email inválido'), + Validatorless.required('Email é obrigatório'), + ], + ), + ), + ), + ], + ), + Row( + 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( label: 'Site', 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( - label: 'Senha', - 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', + label: 'Nome do canal desejado (sem espaços)', controller: channel, validator: Validatorless.multiple([ Validatorless.required('Nome do canal é obrigatório'), diff --git a/lib/pages/user_page.dart b/lib/pages/user_page.dart index dffeab0..455fc1b 100644 --- a/lib/pages/user_page.dart +++ b/lib/pages/user_page.dart @@ -1,18 +1,29 @@ import 'package:flutter/material.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}); + @override + State createState() => _UserPageState(); +} + +class _UserPageState extends State { @override Widget build(BuildContext context) { - return const NcBasePage( + return NcBasePage( body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text("User Page"), - ], + child: Padding( + padding: const EdgeInsets.all(60.0), + child: Column( + 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(), + ], + ), ), ), );