Merge remote-tracking branch 'origin/feature/home' into feature/chat

This commit is contained in:
tiago.kayaya
2021-01-04 16:30:55 +01:00
9 changed files with 379 additions and 10 deletions
+84 -3
View File
@@ -6,15 +6,96 @@
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-label>
<p class="p-small ion-text-center">{{customDate}}</p>
<p class="time ion-text-center">{{customDate}}</p>
</ion-label>
<ion-label>
<p class="p-small ion-text-center"> <bold>5</bold> eventtos agendados para hoje</p>
<p class="event-number p-small ion-text-center"> <bold>{{totalEvent}}</bold> eventos agendados para hoje</p>
</ion-label>
<div class="next-meeting">
<div class="meeting-time">08:30</div>
<div class="meeting-time">{{hoursMinutes}}</div>
<div class="meeting-description">Reunião de Conselho de Ministros no Palácio Presidencial</div>
</div>
<div class="conteiner-box">
<div class="schedule">
<div class="schedule-header">
<div class="title">
<ion-icon class="icon" slot="end" src="assets/images/icons-nav-agenda-active.svg" ></ion-icon>
<div class="text">A sua Agenda</div>
</div>
<ion-icon class="icon-next" slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" ></ion-icon>
</div>
<div class="content">
<ul>
<li *ngFor="let event of eventsList"
[routerLink]="['/home/events', event.EventId, 'events']">
<div class="d-flex content-{{profile}}-{{event.CalendarName}}">
<div class="schedule-time">
<div class="time-start">{{event.StartDate | date: 'hh:mm'}}</div>
<div class="time-end">{{event.EndDate | date: 'hh:mm'}}</div>
</div>
<div class="schedule-details">
<div class="location">{{event.Location}}</div>
<div class="description">{{event.Subject}}</div>
</div>
</div>
</li>
</ul>
<div class="resume">
<div class="title">
Resumo para Amnahã
</div>
<div class="event-num">4 eventos ageandados para amanhã</div>
<div class="first-event-time">08:30 "Reunião Staff" no Palácio Presidencial</div>
</div>
</div>
</div>
<div class="schedule">
<div class="schedule-header">
<div class="title">
<ion-icon class="icon" slot="end" src="assets/images/icons-nav-agenda-bag.svg"></ion-icon>
<div class="text">Correspondência por ler</div>
</div>
<ion-icon class="icon-next" slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" ></ion-icon>
</div>
<div class="content">
<ul>
<li>
<div class="schedule-details">
<div class="description">Reunião de Conselho de Ministros</div>
<div class="location">MINEC, MINFIN</div>
</div>
</li>
<li>
<div class="schedule-details">
<div class="description">Reunião de Conselho de Ministros</div>
<div class="location">MINEC, MINFIN</div>
</div>
</li>
<li>
<div class="schedule-details">
<div class="description">Reunião de Conselho de Ministros</div>
<div class="location">MINEC, MINFIN</div>
</div>
</li>
<li>
<div class="schedule-details">
<div class="description">Reunião de Conselho de Ministros</div>
<div class="location">MINEC, MINFIN</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</ion-content>
+197 -1
View File
@@ -1,3 +1,5 @@
@import '~src/function.scss';
/* HEADER */
.bg-blue{
--background:#0782c9;
@@ -269,8 +271,202 @@ ion-toolbar{
}
// new
.main{
padding: 0px em(20px);
}
.event-number{
color: white;
font-family: Roboto;
font-size: 15px;
color: var(--white);
bold{
font-family: Roboto;
font-size: 25px;
text-align: right;
color: var(--white);
}
}
.time{
font-family: Roboto;
font-size: 30px;
text-align: center;
color: var(--white);
line-height: unset;
}
.next-meeting{
display: flex;
justify-content: center;
margin: 0px auto;
margin: 0px 20px;
margin-top: 15px;
.meeting-time {
font-size: em(25px);
font-family: Roboto;
font-weight: 300;
color: var(--white);
margin-right: 7px;
}
.meeting-description {
margin-top: 2px;
font-family: Roboto;
font-size: 15px;
color: var(--white);
}
}
.conteiner-box {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.schedule {
max-width: 400px;
font-family: Roboto;
margin: 10px 0px;
padding: 20px;
background-color: white;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
border: solid 1px #e9e9e9;
margin-bottom: 20px;
border-radius: 25px;
.schedule-header{
display: flex;
margin-bottom: 20px;
justify-content: space-between;
.title {
display: flex;
align-items: center;
.icon{
color: #e8e8e8;
height: 35px;
width: 35px;
margin-right: 10px;
}
.text{
font-family: Roboto;
font-size: 20px;
color: black;
}
}
.icon-next {
color: #e8e8e8;
height: 35px;
width: 35px;
font-size: 35px;
font-size: 35px;
}
}
.content{
ul{
padding: 0px;
margin: 0px;
.d-flex{
height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
}
li{
padding-bottom: 5px;
margin-top: 5px;
border-bottom: 1px solid #ebebeb;
display: flex;
justify-content: space-between;
align-items: center;
.schedule-time{
margin-right: 10px;
.time-start{
color: #797979 !important;
font-family: Roboto;
font-size: 13px;
}
.time-end{
color: #797979 !important;
font-family: Roboto;
font-size: 13px;
}
}
.schedule-details{
display: flex;
flex-wrap: wrap;
align-items: center;
width: 100%;
.location{
font-family: Roboto;
font-size: 13px;
color: black;
width: 100%;
}
.description{
font-family: Roboto;
font-size: 15px;
font-weight: bold;
color: #0d89d1;
}
}
.color{
width: 5px;
height: 40px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background-color: #f05d5e;
}
}
li:last-child{
//border-bottom: unset !important;
//padding-bottom: unset !important;
}
}
}
.resume{
.title{
font-family: Roboto;
font-size: 15px;
font-weight: 500;
color: #797979;
margin-bottom: 5px;
margin-top: 10px;
}
.event-num, .first-event-time{
font-family: Roboto;
font-size: 15px;
display: block;
color: black;
}
}
}
.d-flex {
display: flex;
}
@media only screen and (min-width: 804px) {
.schedule:first-child {
margin-right: 2%;
}
}
@media only screen and (min-width: 478px) {
.schedule{
width: 400px;
}
}
@media only screen and (max-width: 478px) {
.schedule{
width: 360px;
}
}
+37 -1
View File
@@ -12,6 +12,7 @@ import { AuthConnstants } from 'src/app/config/auth-constants';
import { ModalController } from '@ionic/angular';
import { EventDetailPage } from './event-detail/event-detail.page';
import { EventDetailModalPage } from './event-detail-modal/event-detail-modal.page';
import { ProcessesService } from '../../services/processes.service';
@Component({
selector: 'app-events',
@@ -46,6 +47,8 @@ export class EventsPage implements OnInit {
combinedEvents: Event[];
customText = false;
totalEvent=0;
currentHoursMinutes: String;
showLoader: boolean;
@@ -57,6 +60,15 @@ export class EventsPage implements OnInit {
private modalController: ModalController,
private authService: AuthService) {
this.prEventList = null;
// update hours and time
setInterval(()=> {
let d = new Date();
let n = d.toLocaleTimeString();
this.currentHoursMinutes = n.slice(0,5);
}, 1000);
}
ngOnInit() {
@@ -65,7 +77,21 @@ export class EventsPage implements OnInit {
//Initialize profile as mdgpr
this.profile = "mdgpr";
console.log(this.profile);
// set event list
if(this.profile == "mdgpr"){
this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventsList = res;
this.totalEvent = this.eventsList.length;
});
}
else{
this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventsList = res;
this.totalEvent = this.eventsList.length;
});
}
this.showGreeting();
@@ -201,5 +227,15 @@ export class EventsPage implements OnInit {
return await modal.present();
}
/**
* @returns time in format HH:MM:SS
*/
get hoursMinutes():String {
return this.currentHoursMinutes;
}
}