Na estrutura das paginas criamos a signIn a pagina de login,
O unform rocketseat para trabalhar com os dados do formulario sem ser da forma criando estado para cada item do formulario
Validamos e exibimos o tooltip de erros no formulario
Utilizamos a Context API para estado e propriedade dos componentes ser acessiveis por componentes fora daquele mesmo escopo
Criamos um hook useAuth para lidar com rotas autenticadas
Um hook useToast para mensagens de toast
Configuramos nossas rotas de acordo com nossa api construida no backend da aplicacao, também as rotas autenticadas
se user está autenticado e está em uma rota autenticada Ok, se não está autenticado e está em uma rota autenticada Retorna para rota '/' inicial
E após user for autenticado, logar na aplicacao, irá para a rota autenticada, dashboard. E de extra na pagina dashboard importei o component Button e o metodo signOut do hook de autenticacao, usei o Button e ao clicar o metodo signOut exclui o token e user do Storage e retorna para a página inicial de logon signIn
Extra: Removemos o token e user do storage com o método signOut do hook useAuth e fazemos o logOut da aplicacao
GoBarber com algumas alterações e inclusões:
- Ajustes na API
Foram feitos ajustes na API para comportar as novas funcionalidades do frontend
- Recuperacao de senha
Criamos a pagina de recuperacao de senha
o usuario informa seu email para recuperar a senha
Enviamos o formulario a API
Criamos a pagina de redefinicao da senha
na qual o usuario informa a nova senha e é redirecionado para o SignIn para logar com sua nova senha
- Dashboard
Criamos a pagina de dashboard com Header
agendamento a seguir, listagem de agendamentos
calendario, verificando a disponibilidade do mes
buscamos os agendamentos da API e exibimos
em tela, separando por periodo da manha e tarde
- Perfil do usuario
Criamos a pagina de perfil do usuario
com opcao de trocar de avatar, e alteracao dos dados