This commit is contained in:
tiago.kayaya
2021-06-03 14:11:34 +01:00
parent d05ef20373
commit bf90d2765f
34 changed files with 16 additions and 1527 deletions
-13
View File
@@ -10,14 +10,6 @@ const routes: Routes = [
path: '',
component: ChatPage,
},
{
path: 'conversation',
loadChildren: () => import('./conversation/conversation.module').then( m => m.ConversationPageModule)
},
{
path: 'newchat',
loadChildren: () => import('./newchat/newchat.module').then( m => m.NewchatPageModule)
},
{
path: 'new-group',
loadChildren: () => import('./new-group/new-group.module').then( m => m.NewGroupPageModule)
@@ -34,11 +26,6 @@ const routes: Routes = [
{
path: 'edit-group',
loadChildren: () => import('./edit-group/edit-group.module').then( m => m.EditGroupPageModule)
},
{
path: 'test',
outlet:'test',
loadChildren: () => import('./test/test.module').then( m => m.TestPageModule)
}
];
-15
View File
@@ -12,12 +12,10 @@ import {
import { ModalController } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
import { ConversationPage } from './conversation/conversation.page';
import { GroupMessagesPage } from './group-messages/group-messages.page';
import { ContactsPage } from './messages/contacts/contacts.page';
import { MessagesPage } from './messages/messages.page';
import { NewGroupPage } from './new-group/new-group.page';
import { NewchatPage } from './newchat/newchat.page';
import { Storage } from '@ionic/storage';
import { AlertService } from 'src/app/services/alert.service';
import { EditGroupPage } from 'src/app/shared/chat/edit-group/edit-group.page';
@@ -277,19 +275,6 @@ sendMsg() {
});
});
}
async startConversation(selectedUser) {
const modal = await this.modalController.create({
component: ConversationPage,
cssClass: 'conversation',
backdropDismiss: false,
componentProps: {
user: selectedUser,
}
});
await modal.present();
modal.onDidDismiss();
}
async selectContact(){
const modal = await this.modalController.create({
@@ -1,17 +0,0 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ConversationPage } from './conversation.page';
const routes: Routes = [
{
path: '',
component: ConversationPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ConversationPageRoutingModule {}
@@ -1,20 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ConversationPageRoutingModule } from './conversation-routing.module';
import { ConversationPage } from './conversation.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ConversationPageRoutingModule
],
declarations: [ConversationPage]
})
export class ConversationPageModule {}
@@ -1,49 +0,0 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button (click)="close()" defaultHref="/home/chat" icon="chevron-back"></ion-back-button>
</ion-buttons>
<ion-title>{{chatUser.name}}</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-row *ngFor="let message of messages" class="chat-container">
<ion-col size="9" *ngIf="message.user !== currentUser" class="message other-message">
<p><b>{{message.user}}</b></p>
<span>{{message.msg}}</span>
<div class="message-date">{{message.createdAt | date: 'HH:mm'}}</div>
</ion-col>
<ion-col offset="3" size="9" *ngIf="message.user === currentUser" class="message my-message">
<ion-label>
<p><b>{{message.user}}</b></p>
<span>{{message.msg}}</span>
<div class="message-date">{{message.createdAt | date: 'HH:mm'}}</div>
</ion-label>
</ion-col>
</ion-row>
</ion-content>
<ion-footer class="ion-no-border">
<ion-toolbar>
<ion-row align-items-center>
<ion-col>
<ion-item button lines="none">
<img src="assets/images/icons-arrow-arrow-down-25.svg">
</ion-item>
</ion-col>
<ion-col>
<ion-item lines="none" class="div-message">
<ion-textarea placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" name="mic-outline"></ion-icon>
</ion-item>
</ion-col>
<ion-col>
<ion-item button lines="none" [disabled]="message === ''">
<img src="assets/images/icons-chat-send.svg">
</ion-item>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer>
@@ -1,55 +0,0 @@
ion-content{
background-color:#fefefe;
}
.chat-container{
margin: 10px 10px 0 10px;
}
.message {
padding: 5px 5px 5px 10px;
border-radius: 10px;
margin-bottom: 10px;
white-space: pre-wrap;
}
.my-message {
background: var(--ion-color-primary);
color: #fff;
}
.my-message p{
margin: 0;
padding: 0;
color: #9ab8e9;
}
.message-date{
font-size: 10px;
text-align: right;
margin-right: 5px;
}
.other-message {
background: #f2f3f7;
color: #333;
}
.other-message p{
margin: 0;
padding: 0;
color:#959ba7;
}
.message-input {
margin-top: 0px;
background: #fff;
padding: 0;
margin: 0;
}
.div-message{
border: 1px solid var(--ion-color-medium);
border-radius: 20px;
}
@@ -1,24 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ConversationPage } from './conversation.page';
describe('ConversationPage', () => {
let component: ConversationPage;
let fixture: ComponentFixture<ConversationPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ConversationPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ConversationPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,73 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ModalController, NavParams } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
@Component({
selector: 'app-conversation',
templateUrl: './conversation.page.html',
styleUrls: ['./conversation.page.scss'],
})
export class ConversationPage implements OnInit {
message = '';
messages = [];
currentUser = '';
constructor(
private authService: AuthService,
private router:Router,
private modalController: ModalController,
private navParams: NavParams) { }
loggedUser: any;
chatUser: any;
ngOnInit() {
this.authService.userData$.subscribe((res:any)=>{
this.loggedUser=res;
})
this.chatUser = this.navParams.get('user');
console.log(this.navParams.get('user'));
console.log(this.chatUser.name);
/* console.log("ON");
this.socket.connect();
//Set current user
let name = `User-${new Date().getTime()}`;
this.currentUser=name;
this.socket.emit('set-name', name);
//Reat from event calling "fromEvent"
this.socket.fromEvent('users-changed').subscribe(data =>{
console.log('gOT data:', data);
});
//Add message to the array of messages
this.socket.fromEvent('message').subscribe(message =>{
console.log('New:', message);
this.messages.push(message);
}); */
}
close(){
this.router.navigate(['/home/chat']);
this.modalController.dismiss(null);
}
sendMessage(){
}
/* sendMessage(){
this.socket.emit('send-message', {text: this.message});
this.message="";
}
ionViewWillLeave(){
this.socket.disconnect();
} */
}
@@ -18,8 +18,8 @@ import { ChatPopoverPageModule } from 'src/app/shared/popover/chat-popover/chat-
FormsModule,
IonicModule,
ComponentsModule,
GroupMessagesPageRoutingModule,
ChatPopoverPageModule,
GroupMessagesPageRoutingModule
],
declarations: [GroupMessagesPage]
})
@@ -10,6 +10,7 @@ import { ContactsPage } from './contacts.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { PipesModule } from 'src/app/pipes/pipes.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { FilterPipe } from 'src/app/pipes/filter.pipe';
@NgModule({
imports: [
@@ -17,9 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ContactsPageRoutingModule,
PipesModule,
ContactsPageRoutingModule
],
declarations: [ContactsPage]
declarations: [ContactsPage, FilterPipe]
})
export class ContactsPageModule {}
@@ -1,17 +0,0 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NewchatPage } from './newchat.page';
const routes: Routes = [
{
path: '',
component: NewchatPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class NewchatPageRoutingModule {}
@@ -1,21 +0,0 @@
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { NewchatPageRoutingModule } from './newchat-routing.module';
import { NewchatPage } from './newchat.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
NewchatPageRoutingModule
],
declarations: [NewchatPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class NewchatPageModule {}
@@ -1,51 +0,0 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<div class="back-icon">
<ion-icon (click)="close()" slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
</div>
<div class="div-title">
<ion-label class="title">Nova Conversa</ion-label>
</div>
</div>
</div>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div class="main-content">
<ion-toolbar>
<ion-searchbar round (ionChange)="onChange($event)" placeholder="Pesquisar por cantacto" ></ion-searchbar>
</ion-toolbar>
<ion-list>
<ion-item *ngFor="let user of searchedItem" (click)="starConversation(user)">
{{user.name}}
</ion-item>
<ion-item>
Tiago Kayaya
</ion-item>
<ion-item>
Gilson Manuel
</ion-item>
</ion-list>
<ion-alpha-scroll
[listData]="contacts"
key="name"
[itemTemplate]="alphaScrollItemTemplateRef"
[currentPageClass]="currentPageClass"
[triggerChange]="triggerAlphaScrollChange">
<ng-template #alphaScrollItemTemplateRef let-item>
<ion-item (click)="currentPageClass.onItemClick(item)">{{item.$t}}</ion-item>
</ng-template>
</ion-alpha-scroll>
</div>
</ion-content>
@@ -1,66 +0,0 @@
ion-content{
--background:transparent;
}
.header-toolbar{
--background:transparent;
--opacity: 1;
.main-header{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
background-color: #fff;
overflow:hidden;
padding: 30px 20px 0px 20px;
color:#000;
transform: translate3d(0, 1px, 0);
.div-icon{
width: 40px;
float: right;
font-size: 35px;
overflow: auto;
padding: 1px;
}
.div-icon ion-icon{
float: right;
padding-left: 20px;
}
.title-content{
margin: 0px auto;
overflow: auto;
padding: 0 !important;
}
.back-icon{
width: 37px;
float: left;
font-size: 35px;
overflow: auto;
}
.div-title{
width: 221px;
padding: 0!important;
float: left;
margin: 2.5px 0 0 5px;
}
.title{
font-size: 25px;
}
}
}
.main-content{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
margin: 0 auto;
background-color: #fff;
overflow:auto;
padding: 15px 20px 0 20px;
}
ion-searchbar{
--border-radius: 20px;
}
@@ -1,24 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { NewchatPage } from './newchat.page';
describe('NewchatPage', () => {
let component: NewchatPage;
let fixture: ComponentFixture<NewchatPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ NewchatPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(NewchatPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,98 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ModalController } from '@ionic/angular';
import { Observable } from 'rxjs';
import { ChatService } from 'src/app/services/chat.service';
import { ConversationPage } from '../conversation/conversation.page';
@Component({
selector: 'app-newchat',
templateUrl: './newchat.page.html',
styleUrls: ['./newchat.page.scss'],
})
export class NewchatPage implements OnInit {
showLoader: boolean;
userList: any[];
contacts:any;
currentPageClass = this;
triggerAlphaScrollChange: number = 0;
constructor(
private chatService: ChatService,
private modalController: ModalController,
private router:Router) {
this.contacts = [
{
'name': 'Affenpinscher'
},
{
'name': 'Afghan Hound'
},
// ...
];
}
result:any;
searchCountryString:any;
searchedItem:any;
ngOnInit() {
this.getUsers();
}
close(){
this.modalController.dismiss();
}
doRefresh(event) {
this.getUsers();
setTimeout(() => {
event.target.complete();
}, 2000);
}
getUsers(){
this.result = this.chatService.getAllUsers().subscribe((res:any)=>{
this.userList = res.users;
this.searchedItem = this.userList;
});
}
userSelected(id){
console.log(id);
this.router.navigate(['/home/chat/conversation']);
}
onChange(event){
const val = event.detail.value;
this.searchedItem = this.userList;
if(val && val.trim() != ''){
this.searchedItem = this.searchedItem.filter((item:any) =>{
return (item.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
}
async starConversation(selectedUser) {
const modal = await this.modalController.create({
component: ConversationPage,
cssClass: 'conversation',
backdropDismiss: false,
componentProps: {
user: selectedUser,
}
});
await modal.present();
modal.onDidDismiss();
}
onItemClick(item) {
// This is an example of how you could manually trigger ngOnChange
// for the component. If you modify "listData" it won't perform
// an ngOnChange, you will have to trigger manually to refresh the component.
this.triggerAlphaScrollChange++;
}
}
@@ -1,17 +0,0 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TestPage } from './test.page';
const routes: Routes = [
{
path: '',
component: TestPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class TestPageRoutingModule {}
-21
View File
@@ -1,21 +0,0 @@
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { TestPageRoutingModule } from './test-routing.module';
import { TestPage } from './test.page';
import { BrowserModule } from '@angular/platform-browser';
import { CommonModule } from '@angular/common';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
TestPageRoutingModule
],
declarations: [TestPage]
})
export class TestPageModule {}
-32
View File
@@ -1,32 +0,0 @@
<ion-header>
<ion-toolbar>
<ion-title>test</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div *ngFor="let member of members">{{member}}</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-row align-items-center class="row">
<ion-col size="1">
<ion-label class="ion-no-padding" lines="none">
<ion-icon (click)="openChatOptions()" class="chat-icon-options" src="assets/icon/icons-chat-options.svg"></ion-icon>
</ion-label>
</ion-col>
<ion-col size="9">
<ion-item class="ion-no-padding type-message" lines="none">
<ion-textarea placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" src="assets/icon/icons-chat-mic.svg"></ion-icon>
</ion-item>
</ion-col>
<ion-col size="2">
<!-- [disabled]="message === ''" -->
<ion-label>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</ion-label>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer>
-24
View File
@@ -1,24 +0,0 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { TestPage } from './test.page';
describe('TestPage', () => {
let component: TestPage;
let fixture: ComponentFixture<TestPage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ TestPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(TestPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
-200
View File
@@ -1,200 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { ActionSheetController, MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
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 { ChatPopoverPage } from 'src/app/shared/popover/chat-popover/chat-popover.page';
import { GroupContactsPage } from '../group-messages/group-contacts/group-contacts.page';
@Component({
selector: 'app-test',
templateUrl: './test.page.html',
styleUrls: ['./test.page.scss'],
})
export class TestPage implements OnInit {
showLoader: boolean;
isGroupCreated:boolean;
loggedUser: any;
message:any;
messages:any;
room:any;
roomName:any;
members:any;
contacts: string[] = [" Ana M.", "Andre F.", "Bruno G.", "Catarina T", "Tiago"];
constructor(
private menu: MenuController,
private modalController: ModalController,
private actionSheetController: ActionSheetController,
public popoverController: PopoverController,
private chatService: ChatService,
private navParams: NavParams,
private authService: AuthService,
) {
this.isGroupCreated = true;
this.room = this.navParams.get('room');
this.roomName = this.room.name.split('-').join(' ');
}
ngOnInit() {
this.authService.userData$.subscribe((res:any)=>{
this.loggedUser=res;
console.log(this.loggedUser);
});
this.load();
}
load(){
this.getGroupContacts();
this.loadGroupMessages();
}
close(){
this.modalController.dismiss();
}
doRefresh(ev:any){
this.load();
ev.target.complete();
}
getGroupContacts(){
this.showLoader = true;
//If group is private call getGroupMembers
if(this.room.t === 'p'){
this.chatService.getGroupMembers(this.room._id).subscribe(res=>{
console.log(res);
this.members = res['members'];
this.showLoader = false;
});
}
//Otherwise call getChannelMembers for públic groups
else{
this.chatService.getChannelMembers(this.room._id).subscribe(res=>{
console.log(res);
this.members = res['members'];
this.showLoader = false;
});
}
}
loadGroupMessages(){
this.showLoader = true;
//If group is private call getGroupMembers
if(this.room.t === 'p'){
this.chatService.getPrivateGroupMessages(this.room._id).subscribe(res=>{
console.log(res);
let msgOnly = res['messages'].filter(data => data.t != 'au');
this.messages = msgOnly.reverse();
this.showLoader = false;
});
}
//Otherwise call getChannelMembers for públic groups
else{
this.chatService.getPublicGroupMessages(this.room._id).subscribe(res=>{
console.log(res);
this.messages = res['messages'].reverse();
});
}
}
sendMessage(){
let body = {
"message":
{
"rid": this.room._id, "msg": this.message
}
}
this.chatService.sendMessage(body).subscribe(res=> {
this.loadGroupMessages();
});
this.message = "";
}
async openOptions(ev: any) {
const popover = await this.popoverController.create({
component: ChatPopoverPage,
cssClass: 'chat-popover',
event: ev,
componentProps: {
room: this.room,
},
translucent: true
});
await popover.present();
popover.onDidDismiss().then(res=>{
console.log(res);
if(res.data){
this.roomName = res.data.name.split('-').join(' ');
console.log(this.roomName);
this.load();
/* this.modalController.dismiss(); */
};
});
}
async openChatOptions(ev: any) {
const popover = await this.popoverController.create({
component: ChatOptionsPopoverPage,
cssClass: 'chat-options-popover',
event: ev,
componentProps: {
room: this.room,
},
translucent: true
});
return await popover.present();
}
async addContacts(){
console.log(this.members);
const modal = await this.modalController.create({
component: GroupContactsPage,
componentProps: {
isCreated: this.isGroupCreated,
room: this.room,
members: this.members,
name: this.room.name,
},
cssClass: 'contacts',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(()=>{
this.load();
});
}
/* async actionSheet() {
const actionSheet = await this.actionSheetController.create({
cssClass: 'my-custom-class',
buttons: [{
text: 'Sair do grupo',
handler: () => {
console.log('Delete clicked');
}
}, {
text: 'Alterar nome do grupo1',
handler: () => {
console.log('Alterar nome do grupo');
this.openChangeGroupName()
}
}, {
text: 'Apagar o grupo',
handler: () => {
console.log('Play clicked');
}
},
]
});
await actionSheet.present();
}
*/
}
@@ -12,7 +12,6 @@ import { SharedModule } from 'src/app/shared/shared.module';
import { EventListComponent } from 'src/app/shared/agenda/event-list/event-list.component';
import { EmptyContainerPage } from 'src/app/shared/empty-container/empty-container.page';
import { EventsToApprovePage } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page';
import { ExpedientePage } from 'src/app/shared/gabinete-digital/expediente/expediente.page';
import { ExpedientsPage } from 'src/app/shared/gabinete-digital/expedients/expedients.page';
import { PendentesPage } from 'src/app/shared/gabinete-digital/pendentes/pendentes.page';
import { PedidosPage } from 'src/app/shared/gabinete-digital/pedidos/pedidos.page';
@@ -24,7 +23,6 @@ import { DiplomasAssinarPage } from 'src/app/shared/gabinete-digital/diplomas-as
import { ComponentsModule } from 'src/app/components/components.module';
import { EmptyContainerPageModule } from 'src/app/shared/empty-container/empty-container.module';
import { EventsToApprovePageModule } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.module';
import { ExpedientePageModule } from 'src/app/shared/gabinete-digital/expediente/expediente.module';
import { ExpedientsPageModule } from 'src/app/shared/gabinete-digital/expedients/expedients.module';
import { PedidosPageModule } from 'src/app/shared/gabinete-digital/pedidos/pedidos.module';
import { DespachosPageModule } from 'src/app/shared/gabinete-digital/despachos/despachos.module';
@@ -45,7 +43,6 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module';
HeaderPageModule,
EmptyContainerPageModule,
EventsToApprovePageModule,
ExpedientePageModule,
ExpedientsPageModule,
PedidosPageModule,
DespachosPageModule,
@@ -53,7 +50,8 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module';
DespachosPrPageModule,
DiplomasPageModule,
ExpedientesPrPageModule,
DiplomasAssinarPageModule
DiplomasAssinarPageModule,
EmptyContainerPageModule,
],
declarations: [