This commit is contained in:
tiago.kayaya
2021-05-27 17:36:15 +01:00
21 changed files with 347 additions and 121 deletions
+4
View File
@@ -108,6 +108,10 @@ const routes: Routes = [
path: 'deploma-options',
loadChildren: () => import('./shared/popover/deploma-options/deploma-options.module').then( m => m.DeplomaOptionsPageModule)
},
{
path: 'pin',
loadChildren: () => import('./shared/pin/pin.module').then( m => m.PinPageModule)
},
/* {
path: 'chat',
@@ -6,7 +6,7 @@ import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
import { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page';
import { MessagesOptionsPage } from 'src/app/shared/popover/messages-options/messages-options.page';
import { ProfileComponent } from '../../headers/header-no-search/profile/profile.component';
import { ProfileComponent } from '../../headers/header-no-search/profile/profile.page';
import { ContactsPage } from '../new-group/contacts/contacts.page';
@Component({
@@ -258,7 +258,7 @@ export class DespachosPage implements OnInit {
const doc = this.taskList[ this.dicIndex];
console.log(doc, this.dicIndex, this.taskList)
// console.log(doc, this.dicIndex, this.taskList)
const modal = await this.modalController.create({
component: DiscartExpedientModalPage,
+1 -1
View File
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { AnimationController, ModalController } from '@ionic/angular';
import { SearchPage } from 'src/app/pages/search/search.page';
import { Router } from '@angular/router';
import { ProfileComponent } from '../headers/header-no-search/profile/profile.component';
import { ProfileComponent } from '../headers/header-no-search/profile/profile.page';
import { AuthService } from 'src/app/services/auth.service';
import { User } from 'src/app/models/user.model';
@@ -1,17 +1,21 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HeaderNoSearchPage } from './header-no-search.page';
const routes: Routes = [
{
path: '',
component: HeaderNoSearchPage
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HeaderNoSearchPage } from './header-no-search.page';
const routes: Routes = [
{
path: '',
component: HeaderNoSearchPage
},
{
path: 'profile',
loadChildren: () => import('./profile/profile.module').then( m => m.ProfilePageModule)
];
}
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class HeaderNoSearchPageRoutingModule {}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { AnimationController, ModalController } from '@ionic/angular';
import { SearchPage } from 'src/app/pages/search/search.page';
import { MenuController } from '@ionic/angular';
import { ProfileComponent } from './profile/profile.component';
import { ProfileComponent } from './profile/profile.page';
import { Router } from '@angular/router';
import { AuthService } from 'src/app/services/auth.service';
import { User } from 'src/app/models/user.model';
@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ProfileComponent } from './profile.page';
const routes: Routes = [
{
path: '',
component: ProfileComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ProfilePageRoutingModule {}
@@ -1,70 +0,0 @@
<ion-content class=" bg-blue">
<div class="profile-content">
<div class="d-flex justify-space-between align-center">
<div class="go-back d-flex align-center" (click)="close()">
<ion-icon class="icon" src="assets/images/icons-calendar-arrow-left.svg"></ion-icon> <div>Perfil</div>
</div>
<div class="d-flex " (click)="close()">
<ion-icon class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
</div>
<div >
<div class="d-flex align-center">
<ion-icon class="profile-pic" name="add-circle-outline"></ion-icon>
</div>
</div>
<div class="profile-info">
<div class="label-text">Dados Perfil</div>
<div class="user-role">{{loggeduser.RoleDescription}}</div>
<div class="email">{{loggeduser.Email}}</div>
</div>
<div class="login-preference">
<div class="preference">Preferência Login</div>
<ion-row>
<ion-col class="align-center d-flex">
<ion-checkbox class="checkBox"></ion-checkbox>
Impressão Digital
</ion-col>
<ion-col class="align-center d-flex">
<ion-checkbox class="checkBox"></ion-checkbox>
PIN
</ion-col>
</ion-row>
</div>
</div>
</ion-content>
<ion-footer class=" footer-container ion-no-border bg-blue">
<div class="d-flex justify-space-between">
<ion-buttons slot="start" (click)="close()">
<ion-button class="btn-cancel" fill="clear" color="#061b52" >
<ion-label>Cancelar</ion-label>
</ion-button>
</ion-buttons>
<ion-buttons slot="end" (click)="close()">
<ion-button class="btn-ok" fill="clear" color="#fff" >
<ion-label>Gravar</ion-label>
</ion-button>
</ion-buttons>
</div>
</ion-footer>
@@ -1,28 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { ModalController } from '@ionic/angular';
import { User } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service';
@Component({
selector: 'app-profile',
templateUrl: './profile.component.html',
styleUrls: ['./profile.component.scss'],
})
export class ProfileComponent implements OnInit {
loggeduser: User;
constructor(private modalController:ModalController,
private authService: AuthService) {
this.loggeduser = authService.ValidatedUser;
console.log(this.loggeduser.RoleDescription)
}
ngOnInit() {}
close(){
this.modalController.dismiss();
}
}
@@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ProfilePageRoutingModule } from './profile-routing.module';
import { ProfileComponent } from './profile.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ProfilePageRoutingModule
],
declarations: [ProfileComponent]
})
export class ProfilePageModule {}
@@ -0,0 +1,68 @@
<ion-content class=" bg-blue">
<div class="profile-content">
<div class="d-flex justify-space-between align-center">
<div class="go-back d-flex align-center" (click)="close()">
<ion-icon class="icon" src="assets/images/icons-calendar-arrow-left.svg"></ion-icon> <div>Perfil</div>
</div>
<div class="d-flex " (click)="close()">
<ion-icon class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
</div>
<div >
<div class="d-flex align-center">
<ion-icon class="profile-pic" name="add-circle-outline"></ion-icon>
</div>
</div>
<div class="profile-info">
<div class="label-text">Dados Perfil</div>
<div class="user-role">{{loggeduser.RoleDescription}}</div>
<div class="email">{{loggeduser.Email}}</div>
</div>
<div class="login-preference">
<div class="preference">Preferência Login</div>
<ion-row>
<ion-col class="align-center d-flex">
<div (click)="addPin()">
<ion-checkbox class="checkBox"></ion-checkbox>
Impressão Digital
</div>
</ion-col>
<ion-col class="align-center d-flex">
<ion-checkbox class="checkBox"></ion-checkbox>
PIN
</ion-col>
</ion-row>
</div>
</div>
</ion-content>
<ion-footer class=" footer-container ion-no-border bg-blue">
<div class="d-flex justify-space-between">
<ion-buttons slot="start" (click)="close()">
<ion-button class="btn-cancel" fill="clear" color="#061b52" >
<ion-label>Cancelar</ion-label>
</ion-button>
</ion-buttons>
<ion-buttons slot="end" (click)="close()">
<ion-button class="btn-ok" fill="clear" color="#fff" >
<ion-label>Gravar</ion-label>
</ion-button>
</ion-buttons>
</div>
</ion-footer>
@@ -1,13 +1,13 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ProfileComponent } from './profile.component';
import { ProfileComponent } from './profile.page';
describe('ProfileComponent', () => {
describe('ProfilePage', () => {
let component: ProfileComponent;
let fixture: ComponentFixture<ProfileComponent>;
beforeEach(async(() => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ ProfileComponent ],
imports: [IonicModule.forRoot()]
@@ -0,0 +1,68 @@
import { Component, OnInit } from '@angular/core';
import { AnimationController, ModalController } from '@ionic/angular';
import { User } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service';
import { PinPage } from 'src/app/shared/pin/pin.page';
@Component({
selector: 'app-profile',
templateUrl: './profile.page.html',
styleUrls: ['./profile.page.scss'],
})
export class ProfileComponent implements OnInit {
loggeduser: User;
constructor(private modalController:ModalController,
private authService: AuthService,
private animationController: AnimationController) {
this.loggeduser = authService.ValidatedUser;
console.log(this.loggeduser.RoleDescription)
}
ngOnInit() {}
close() {
this.modalController.dismiss();
}
async addPin() {
const enterAnimation = (baseEl: any) => {
const backdropAnimation = this.animationController.create()
.addElement(baseEl.querySelector('ion-backdrop')!)
.fromTo('opacity', '0.01', 'var(--backdrop-opacity)');
const wrapperAnimation = this.animationController.create()
.addElement(baseEl.querySelector('.modal-wrapper')!)
.keyframes([
{ offset: 0, opacity: '1', right: '-100%' },
{ offset: 1, opacity: '1', right: '0px' }
]);
return this.animationController.create()
.addElement(baseEl)
.easing('ease-out')
.duration(500)
.addAnimation([backdropAnimation, wrapperAnimation]);
}
const leaveAnimation = (baseEl: any) => {
return enterAnimation(baseEl).direction('reverse');
}
const modal = await this.modalController.create({
enterAnimation,
leaveAnimation,
component: PinPage,
cssClass: 'model profile-modal',
componentProps: {
}
});
return await modal.present();
}
}
+17
View File
@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { PinPage } from './pin.page';
const routes: Routes = [
{
path: '',
component: PinPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class PinPageRoutingModule {}
+20
View File
@@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { PinPageRoutingModule } from './pin-routing.module';
import { PinPage } from './pin.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
PinPageRoutingModule
],
declarations: [PinPage]
})
export class PinPageModule {}
+26
View File
@@ -0,0 +1,26 @@
<ion-content>
<div class="main-content d-flex flex-column align-center justify-center">
<ion-title class="title">Digite o PIN novo</ion-title>
<div class="terminal">
<div class="d-flex">
<div class="circle">1</div> <div class="circle">2</div> <div class="circle">3</div>
</div>
<div class="d-flex">
<div class="circle">4</div> <div class="circle">5</div> <div class="circle">6</div>
</div>
<div class="d-flex">
<div class="circle">7</div> <div class="circle">8</div> <div class="circle">9</div>
</div>
<div class="d-flex align-center justify-center">
<div class="circle">0</div>
</div>
</div>
</div>
</ion-content>
+35
View File
@@ -0,0 +1,35 @@
:host{
text-align: center;
align-items: center;
display: flex;
justify-content: center;
background-image: url("/assets/background/auth.svg");
background-size: 686px 674px;
background-position: center;
background-position-y: 0px;
background-repeat: no-repeat;
}
.circle{
color: white;
width: 85px;
height: 85px;
display: flex;
align-items: center;
justify-content: center;
font-size: 19pt;
background: #44b5ea;
border-radius: 56px;
margin-left: 10px;
margin-bottom: 10px;
}
.title{
padding-top: 32px;
}
.terminal {
padding-top: 112px;
margin-left: -9px;
}
+24
View File
@@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { PinPage } from './pin.page';
describe('PinPage', () => {
let component: PinPage;
let fixture: ComponentFixture<PinPage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ PinPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(PinPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
+15
View File
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-pin',
templateUrl: './pin.page.html',
styleUrls: ['./pin.page.scss'],
})
export class PinPage implements OnInit {
constructor() { }
ngOnInit() {
}
}
+6
View File
@@ -0,0 +1,6 @@
<svg width="614" height="614" viewBox="0 0 614 614" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="614" height="614" rx="307" fill="#FCFEFF"/>
<ellipse cx="304" cy="307.5" rx="275" ry="264.5" fill="#F8FCFF"/>
<ellipse cx="301.074" cy="308.748" rx="237.804" ry="231.645" fill="#F0F9FF"/>
<path d="M507.951 310.827C507.951 423.832 415.891 515.44 302.328 515.44C188.766 515.44 96.7052 423.832 96.7052 310.827C96.7052 197.822 188.766 106.214 302.328 106.214C415.891 106.214 507.951 197.822 507.951 310.827Z" fill="#E1F4FF"/>
</svg>

After

Width:  |  Height:  |  Size: 542 B