Olá pessoal. Nesse tutorial vou mostrar como criar uma página de login para seu aplicativo iOnic bonita, com uma imagem de fundo desfocada e campos de usuário e senha centralizados e com validação básica.
Estive procurando hoje a como fazer uma tela de login bonita. Neste post expliquei a como deixar a página de login sem o menu ou as tabs em baixo, no rodapé. Agora veremos como deixar essa página mais atrativa, como a abaixo que estou desenvolvendo na empresa que trabalho.

Escolha uma boa imagem
Primeiramente, escolha uma imagem bonita, talvez uma paisagem, de tamanho grande. Se ela não tiver o efeito borrado, utilize algum editor para fazer esse efeito (blur). O tamanho da imagem deverá ser de 768 x 1024. No Mac, eu utilizei o GravitDesigner, que é (pelo menos até agora) gratuito. Você pode utilizar qualquer outro, como o PhotoShop ou Gimp. Você poderá colocar o Raio do Desfoque de 44.5.

Salve essa imagem no seu projeto iOnic, na pasta src/assets/imgs/background.png. Se desejar, salve também a logotipo (com um tamanho aproximado de 150px x 150px) no mesmo diretório: src/assets/imgs/applogo.png.
Classes para a página de login
Vá até o arquivo src/pages/login/login.scss (ou semelhante) e aplique o seguinte código:
page-login {.loginPage{background: url(“/assets/imgs/background.png”);background-size: cover;background-position: center;background-repeat: no-repeat;}.login-container {border-radius: 10px;opacity: 0.8;width: 80%;text-align: center;background-color: white;}.login-logo{vertical-align: center;text-align: center;}.login-form{opacity: none!important;}}
A primeira classe CSS definirá a imagem de background (fundo) e definirá a posição dela para que, tanto em tablets quanto em Smartphones ela fique bem-posicionada.
A segunda classe (.login-container) define o local onde haverá o formulário de login, etc. Colocamos uma borda arredondada, uma transparência, uma largura de 80% em relação a página e um alinhamento central.
A terceira classe (.login-logo) centraliza o logo do nosso APP e a quarta diz que o conteúdo do formulário não terá opacidade ou transparência.
HTML para a página de login
Vamos agora para o arquivo src/pages/login/login.html (ou semelhante). A estrutura do seu arquivo deverá ser mais ou menos assim:
<ion-content padding class="loginPage" scroll="false">
<ion-grid style="height: 100%" >
<ion-row justify-content-center align-items-center style="height: 80%" >
<ion-grid class="login-container">
<form #loginForm="ngForm" (ngSubmit)="login()"autocomplete="off"class="login-form">
<ion-row align-items-center>
<ion-col>
<img src="/assets/imgs/logo.png"width="200px"height="200px">
</ion-col>
</ion-row >
<ion-row >
<ion-col >
<ion-list inset >
<ion-item >
<ion-input placeholder="Usuário" name="username" id="loginField" type="text" required [(ngModel)]="username" > </ion-input>
</ion-item>
<ion-item>
<ion-input placeholder="Senha" name="password" id="passwordField" type="password" required [(ngModel)]="password" ></ion-input>
</ion-item></ion-list>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div *ngIf="error" class="alert alert-danger" >{{error}}</div>
<buttonion-button class="submit-btn" fulltype="submit" [disabled]="!loginForm.form.valid" >ENTRAR</button>
</ion-col>
</ion-row>
</form>
</ion-grid>
</ion-row>
</ion-grid>
</ion-content>
Pronto, basta dar o comando abaixo para que o iOnic colete seus arquivos e você já poderá rodar seu APP com a tela de login.
ionic cordova resources –force
Se você gostou do artigo, não deixe de dar seu comentário. Se tiver dúvidas, comente abaixo que ficarei feliz em tentar ajudá-lo.
Fontes e links úteis
Gravit: https://gravit.io/
iOnic Authentication: https://scotch.io/tutorials/build-an-ionic-app-with-user-authentication
Background Image – iOnic forum: https://forum.ionicframework.com/t/ionic-background-image-device-problem/95947
