Required fields description added to forms

This commit is contained in:
Eudes Inácio
2023-02-09 11:25:57 +01:00
parent 13c50fe491
commit ec475c76be
37 changed files with 188 additions and 90 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ const config: CapacitorConfig = {
launchAutoHide: false,
},
LocalNotifications: {
smallIcon: 'ic_stat_icon_config_sample',
smallIcon: 'ic_launcher_round',
iconColor: '#CE0B7C',
},
PushNotifications: {
+43 -42
View File
@@ -89,44 +89,45 @@ export class HomePage implements OnInit {
private RochetChatConnectorService: RochetChatConnectorService,
private NetworkServiceService: NetworkServiceService,
public eventService: EventsService,
) {
if (SessionStore.exist) {
this.user = SessionStore.user;
}
) {
if (SessionStore.exist) {
this.user = SessionStore.user;
}
this.NativeNotificationService.askForPermission()
this.NativeNotificationService.askForPermission();
this.NativeNotificationService.foregroundNotification();
this.router.events.subscribe((val) => {
document.querySelectorAll('ion-modal').forEach((e: any) => e.remove())
document.querySelectorAll('popover-viewport').forEach((e: any) => e.remove())
document.querySelectorAll('.loading-blocker').forEach((e: any) => e.remove())
document.querySelectorAll('ion-popover').forEach((e: any) => e.remove())
});
this.router.events.subscribe((val) => {
document.querySelectorAll('ion-modal').forEach((e: any) => e.remove())
document.querySelectorAll('popover-viewport').forEach((e: any) => e.remove())
document.querySelectorAll('.loading-blocker').forEach((e: any) => e.remove())
document.querySelectorAll('ion-popover').forEach((e: any) => e.remove())
});
window['platform'] = platform
window['platform'] = platform
window['inactivity/function'] = () => {
window['inactivity/function'] = () => {
if (window.location.pathname != '/inactivity' && window.location.pathname != '/') {
if (window.location.pathname != '/inactivity' && window.location.pathname != '/') {
document.querySelectorAll('ion-modal').forEach((e: any) => e.remove());
document.querySelectorAll('.popover-viewport').forEach((e: any) => e.remove());
document.querySelectorAll('.loading-blocker').forEach((e: any) => e.remove());
document.querySelectorAll('ion-modal').forEach((e: any) => e.remove());
document.querySelectorAll('.popover-viewport').forEach((e: any) => e.remove());
document.querySelectorAll('.loading-blocker').forEach((e: any) => e.remove());
const pathname = window.location.pathname
SessionStore.setUrlBeforeInactivity(pathname)
const pathname = window.location.pathname
SessionStore.setUrlBeforeInactivity(pathname)
if (this.platform.is('mobileweb')) {
// this.router.navigate(['/inactivity']);
window.location.pathname = '/inactivity'
} else {
// this.router.navigate(['/']);
window.location.pathname = '/'
}
if (this.platform.is('mobileweb')) {
// this.router.navigate(['/inactivity']);
window.location.pathname = '/inactivity'
} else {
// this.router.navigate(['/']);
window.location.pathname = '/'
}
}
}
}
goto(url) {
@@ -159,7 +160,7 @@ export class HomePage implements OnInit {
})
this.NetworkServiceService.onNetworkChange().subscribe((status) => {
if(status == ConnectionStatus.Online) {
if (status == ConnectionStatus.Online) {
this.backgroundservice.online()
}
})
@@ -174,16 +175,16 @@ export class HomePage implements OnInit {
this.clearTabButtonSelection();
setTimeout(() => {
if(this.p.userPermission([this.p.permissionList.Gabinete.md_tasks]) && this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
throw(SessionStore.user.FullName + 'cant have MD and PR authorization at same time');
if (this.p.userPermission([this.p.permissionList.Gabinete.md_tasks]) && this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
throw (SessionStore.user.FullName + 'cant have MD and PR authorization at same time');
}
if(this.p.userPermission([this.p.permissionList.Chat.access]) && !SessionStore.user?.ChatData?.data) {
throw('Chat temporarily unavailable for '+SessionStore.user.FullName + '. No ChatData');
if (this.p.userPermission([this.p.permissionList.Chat.access]) && !SessionStore.user?.ChatData?.data) {
throw ('Chat temporarily unavailable for ' + SessionStore.user.FullName + '. No ChatData');
}
if(this.p.userPermission([this.p.permissionList.Agenda.access]) && !this.eventService.hasAnyCalendar) {
throw('User '+SessionStore.user.FullName + 'has No calendar');
if (this.p.userPermission([this.p.permissionList.Agenda.access]) && !this.eventService.hasAnyCalendar) {
throw ('User ' + SessionStore.user.FullName + 'has No calendar');
}
}, 1000)
@@ -197,24 +198,24 @@ export class HomePage implements OnInit {
this.tabButton.chat = false;
}
selectedTab(url?:string) {
selectedTab(url?: string) {
this.clearTabButtonSelection();
if(url =='/home/events'){
if (url == '/home/events') {
this.tabButton.home = true;
}
else if(url == '/home/agenda'){
else if (url == '/home/agenda') {
this.tabButton.agenda = true;
}
else if(url =='/home/gabinete-digital') {
else if (url == '/home/gabinete-digital') {
this.tabButton.gabinete = true;
}
else if(url =='/home/publications') {
else if (url == '/home/publications') {
this.tabButton.actions = true;
}
else if(url == '/home/chat') {
else if (url == '/home/chat') {
this.tabButton.chat = true;
}
else{
else {
this.clearTabButtonSelection();
}
}
@@ -224,7 +225,7 @@ export class HomePage implements OnInit {
}
get pathname() {
return window.location.pathname
return window.location.pathname
}
updateList() {
@@ -4,6 +4,7 @@
<div class="title" lines="none">
{{modalTitle[taskType]}}
</div>
<i style="margin-top: 10px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
<div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" placeholder="Assunto*" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
</div>
@@ -8,7 +8,8 @@
<!-- *ngIf="p.userRole('PR')" -->
<!-- *ngIf="p.role(['PR','MD']).permissionAnyOf(['view','edit'])" -->
<label >Convocar Reunião</label>
<label >Convocar Reunião</label><br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
<div class="overflow-y-auto content-default-padding">
@@ -60,9 +61,15 @@
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="CalendarName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of _eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
<!-- <mat-option *ngFor="let calendars of _eventService.calendarNamesAry; let i = index" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> -->
<mat-option *ngFor="let calendars of _eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
</mat-option>
</mat-select>
@@ -462,5 +462,9 @@ export class DocumentSetUpMeetingPage implements OnInit {
return date
}
checkRoleInArray(str) {
return this._eventService.calendarRole.includes(str);
}
}
+6 -3
View File
@@ -227,13 +227,16 @@
<div class="calendar-title-container px-20 d-none d-md-flex">
<div class="calendar-title-description flex-grow-1 text-grey d-flex justify-center align-center" *ngIf="eventService.hasOwnCalendar">
<div >Agenda de {{SessionStore.user.FullName}}</div>
<!-- <div >Agenda de {{SessionStore.user.FullName}}</div> -->
<div >Minha agenda</div>
</div>
<div class="calendar-title-description text-black align-center" *ngIf="eventService.hasSharedCalendar">
<div class="flex-grow-1 text-grey d-flex justify-center align-center">
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<mat-option *ngFor="let calendars of eventService.calendarNamesAry.slice(0, 2)" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Presidente da República')"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Ministro e Director do Gabinete do PR')"> Agenda do MDGPR </div>
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Presidente da República') && checkRoleInArray('Ministro e Director do Gabinete do PR')"> Agenda do {{calendars}} </div>
</mat-option>
</div>
</div>
+5
View File
@@ -1538,4 +1538,9 @@ export class AgendaPage implements OnInit {
return reuslt.length != 0
}
checkRoleInArray(str) {
return this.eventService.calendarRole.includes(str);
}
}
@@ -3,7 +3,8 @@
<div class="main-header">
<div class="title-content width-100">
<div class="middle">
<ion-label class="title">Novo Evento</ion-label>
<ion-label class="title">Novo Evento</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
</div>
@@ -24,7 +24,7 @@ ion-content{
.middle{
padding: 0!important;
float: left;
width: 221px;
width: 300px;
margin: 2.5px 0 0 5px;
}
}
@@ -183,6 +183,7 @@ export class NewEventPage implements OnInit {
this.setDefaultTime()
this.checkRoleInArray()
}
setDefaultTime() {
@@ -566,4 +567,16 @@ export class NewEventPage implements OnInit {
this.documents = this.documents.filter( (e, i) => index != i);
}
checkRoleInArray() {
for (let index = 0; index < this.eventService.calendarNamesAry.length; index++) {
console.log('ROLE1', this.eventService.calendarNamesAry[index])
}
for (let index = 0; index < this.eventService.calendarRole.length; index++) {
console.log('ROLE2',this.eventService.calendarRole[index])
}
}
}
@@ -19,7 +19,11 @@
<ion-segment-button value="MDGPR">
Meu Calendário
</ion-segment-button>
<ion-segment-button value="PR">
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<!-- <ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div> -->
Calendário Partilhado
</ion-segment-button>
</ion-segment>
@@ -15,6 +15,7 @@ import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { RouteService } from 'src/app/services/route.service';
import { Storage } from '@ionic/storage';
import { EventsService } from 'src/app/services/events.service';
@Component({
selector: 'app-event-list',
@@ -49,7 +50,8 @@ export class EventListPage implements OnInit {
private backgroundservice: BackgroundService,
public ThemeService: ThemeService,
private RouteService: RouteService,
private storage: Storage
private storage: Storage,
public eventService: EventsService,
) { }
ngOnInit() {
@@ -4,7 +4,8 @@
<div class="content d-flex flex-column width-100 height-100 ">
<div class="header-content header-default-padding">
<div class="header-title">
<label>Convocar Reunião</label>
<label>Convocar Reunião</label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
<div class="overflow-y-auto content-default-padding">
@@ -35,8 +36,10 @@
<mat-select [(value)]="CalendarOwnerName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of calendarService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendar != 'Ministro e Director do Gabinete do PR' && calendar != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
@@ -2,7 +2,8 @@
<div class="main-content d-flex height-100">
<div class="content d-flex flex-column width-100">
<ion-item lines="none">
<ion-label class="title">{{modalTitle[taskType]}}</ion-label>
<ion-label class="title">{{modalTitle[taskType]}}</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</ion-item>
<div class="ion-item-container width-100" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
@@ -1,7 +1,8 @@
<ion-header class="ion-no-border pt-20 px-20">
<div class="title-content width-100 d-flex align-center justify-space-between ">
<div class="div-title">
<ion-label class="title">Editar acção presidencial</ion-label>
<ion-label class="title">Editar acção presidencial</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
@@ -3,7 +3,8 @@
<div class="content-container">
<div class="title-content width-100">
<div class="div-title">
<ion-label class="title"> Nova Acção</ion-label>
<ion-label class="title"> Nova Acção</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
<!-- <div class="actionType">
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
@@ -19,7 +20,7 @@
</div>
<div class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="folder.Description" placeholder="Assunto" ></ion-input>
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="folder.Description" placeholder="Assunto*" ></ion-input>
</div>
<div class="container-div">
@@ -63,7 +63,7 @@ ion-toolbar{
padding: 0 !important;
}
.div-title{
width: 180px;
width: 250;
/* padding: 0!important; */
float: left;
margin: 2.5px 0 0 5px;
@@ -3,7 +3,9 @@
<div class="content-container d-flex flex-column">
<div class="title-content width-100">
<div class="div-title">
<ion-label class="title">{{publicationTitle}}</ion-label>
<ion-label class="title">{{publicationTitle}}</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
@@ -61,7 +61,7 @@ ion-toolbar{
padding: 0 !important;
}
.div-title{
width: 270px;
width: 300px;
/* padding: 0!important; */
float: left;
margin: 2.5px 0 0 5px;
+19 -1
View File
@@ -51,6 +51,8 @@ export class EventsService {
calendarNamesAry = []
calendarNamesType = {}
calendarRole = []
calendrFullName = []
myCalendarNames = {}
hasAnyCalendar = false
@@ -93,6 +95,8 @@ export class EventsService {
this.usersCalendarIds = [];
this.calendarNames = {}
this.calendarRole = []
this.calendrFullName = [];
this.calendarIds = []
this.calendarNamesAry = []
@@ -249,11 +253,25 @@ export class EventsService {
this.hasAnyCalendar = true
if(sharedCalendar?.OwnerUserId) {
this.GetCalendarName(sharedCalendar.OwnerUserId).subscribe((e)=> {
console.log('sharedCalendar.OwnerUserId',e)
this.calendarNames[sharedCalendar.CalendarId] = e.FullName
this.myCalendarNames[sharedCalendar.CalendarId] = e.FullName
console.log('ROLE',e.Role, e.FullName)
if(!this.calendarNamesAry.includes(e.FullName)) {
this.calendarNamesAry.push(e.FullName)
/* if(e.Role == "Presidente da República") {
this.calendarNamesAry.push(e.Role)
console.log('PR ROLE',this.calendarNamesAry)
} else if (e.Role == "Ministro e Director do Gabinete do PR"){
this.calendarNamesAry.push(e.Role)
console.log('MD ROLE',this.calendarNamesAry)
} else {
this.calendarNamesAry.push(e.FullName)
console.log('NORMAL ROLE',this.calendarNamesAry)
} */
//this.calendarRole.push(e.Role)
this.calendarNamesType[e.FullName] = {}
}
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { Platform } from '@ionic/angular';
import { CapacitorConfig } from '@capacitor/cli';
import { LocalNotifications } from '@capacitor/local-notifications';
import { LocalNotifications, LocalNotificationSchema } from '@capacitor/local-notifications';
@Injectable({
@@ -25,6 +25,13 @@ export class NativeNotificationService {
}
foregroundNotification() {
console.log('Local notification foreground')
LocalNotifications.addListener('localNotificationReceived', (notification) => {
console.log('Local Notification',notification)
})
}
sendNotificationChat({title = 'User', icon = '', message = 'hello'}) {
LocalNotifications.schedule({
@@ -8,7 +8,8 @@
<ion-header>
<div class="title-content">
<div class="middle">
<ion-label class="title">Editar evento por aprovar</ion-label>
<ion-label class="title">Editar evento por aprovar</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
</ion-header>
@@ -3,7 +3,8 @@
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Editar Evento</ion-label>
<ion-label class="title">Editar Evento</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
<ion-progress-bar class="calendar-progress-bar" type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
@@ -3,7 +3,8 @@
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Novo Evento</ion-label>
<ion-label class="title">Novo Evento</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
<ion-progress-bar class="calendar-progress-bar" type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
@@ -40,8 +41,10 @@
<mat-select [(value)]="CalendarName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendar != 'Ministro e Director do Gabinete do PR' && calendar != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
</mat-select>
@@ -27,7 +27,7 @@
.middle{
padding: 0!important;
float: left;
width: 221px;
width: 300px;
margin: 2.5px 0 0 5px;
}
}
@@ -8,7 +8,9 @@
<ion-header>
<div class="title-content">
<div class="middle">
<ion-label class="title">Editar evento por aprovar</ion-label>
<ion-label class="title">Editar evento por aprovar</ion-label> <br>
<i style="margin-top: -5px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
</ion-header>
@@ -10,6 +10,7 @@
border-right: 1px solid #d8d8d8 !important;
}
.main-header{
margin-bottom: 20px;
font-family: Roboto;
background-color: #fff;
@@ -1,7 +1,8 @@
<ion-header class="ion-no-border pt-20 px-20">
<div class="title-content d-flex align-center justify-space-between ">
<div class="div-title">
<ion-label class="title">Editar acção presidencial</ion-label>
<ion-label class="title">Editar acção presidencial</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
@@ -1,7 +1,8 @@
<ion-header class="ion-no-border pt-20 px-20">
<div class="title-content d-flex align-center justify-space-between ">
<div class="div-title">
<ion-label class="title"> Nova Acção</ion-label>
<ion-label class="title"> Nova Acção</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
<!-- <div class="actionType">
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
@@ -62,7 +62,7 @@ ion-toolbar{
padding: 0 !important;
}
.div-title{
width: 180px;
width: 300px;
/* padding: 0!important; */
float: left;
margin: 2.5px 0 0 5px;
@@ -4,7 +4,8 @@
<ion-icon class="font-35" (click)="goBack()" slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
</div> -->
<div class="div-title">
<ion-label class="title">{{ publicationTitle }}</ion-label>
<ion-label class="title">{{ publicationTitle }}</ion-label> <br>
<i style="margin-top: -3px; font-size: 15px;" > Campos marcados com * são obrigatórios</i>
</div>
</div>
</ion-header>
@@ -13,7 +14,7 @@
<div class="content-container">
<div *ngIf="publicationType!='1'" class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="pub.Title" name="title" placeholder="Título" ></ion-input>
<ion-input autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="pub.Title" name="title" placeholder="Título*" ></ion-input>
</div>
<div *ngIf="publicationType!='1' " class="container-div pb-20">
@@ -62,7 +62,7 @@ ion-toolbar{
padding: 0 !important;
}
.div-title{
width: 270px;
width: 300px;
/* padding: 0!important; */
float: left;
margin: 2.5px 0 0 5px;
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#ed1b18" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="800px" height="800px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
<g>
<path d="M256,0C114.609,0,0,114.609,0,256s114.609,256,256,256s256-114.609,256-256S397.391,0,256,0z M256,472
c-119.297,0-216-96.703-216-216S136.703,40,256,40s216,96.703,216,216S375.297,472,256,472z"/>
<polygon points="240,234.656 246.234,320 265.781,320 272,233.875 272,128 240,128 "/>
<rect x="240" y="352" width="32" height="32"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 810 B

+1 -1
View File
@@ -3,4 +3,4 @@ import { oaprProd } from './suport/oapr'
import { doneITProd } from './suport/doneIt'
export const environment: Environment = oaprProd;
export const environment: Environment = doneITProd;
+1 -1
View File
@@ -3,4 +3,4 @@ import { oaprDev } from './suport/oapr'
import { doneITDev } from './suport/doneIt'
export const environment: Environment = oaprDev;
export const environment: Environment = doneITDev;
+6 -6
View File
@@ -1,12 +1,12 @@
export let versionData = {
"shortSHA": "95c0cd624",
"SHA": "95c0cd6249ba748a7abef10be71aaa10a3a7ac84",
"shortSHA": "13c50fe49",
"SHA": "13c50fe491fdfd6bc7e0d44c3417b2e89ebbfbd8",
"branch": "no_bug_movemente",
"lastCommitAuthor": "'Eudes Inácio'",
"lastCommitTime": "'Mon Feb 6 19:06:48 2023 +0100'",
"lastCommitMessage": "env",
"lastCommitNumber": "4748",
"lastCommitTime": "'Mon Feb 6 19:12:25 2023 +0100'",
"lastCommitMessage": "Peter bug solved 15 min",
"lastCommitNumber": "4750",
"change": "",
"changeStatus": "On branch no_bug_movemente\nYour branch and 'origin/no_bug_movemente' have diverged,\nand have 1 and 1 different commits each, respectively.\n (use \"git pull\" to merge the remote branch into yours)\n\nAll conflicts fixed but you are still merging.\n (use \"git commit\" to conclude merge)\n\nChanges to be committed:\n\tmodified: src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts\n\tmodified: src/app/pages/agenda/edit-event/edit-event.page.ts\n\tmodified: src/app/pages/agenda/new-event/new-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts\n\tmodified: src/app/pages/publications/new-action/new-action.page.ts\n\tmodified: src/app/shared/agenda/edit-event/edit-event.page.ts\n\tmodified: src/app/shared/agenda/new-event/new-event.page.ts\n\tmodified: src/app/shared/publication/new-action/new-action.page.html\n\tmodified: src/app/shared/publication/new-action/new-action.page.ts\n\tmodified: src/environments/environment.prod.ts\n\tmodified: src/environments/environment.ts",
"changeStatus": "On branch no_bug_movemente\nYour branch is up to date with 'origin/no_bug_movemente'.\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: capacitor.config.ts\n\tmodified: src/app/home/home.page.ts\n\tmodified: src/app/modals/create-process/create-process.page.html\n\tmodified: src/app/modals/document-set-up-meeting/document-set-up-meeting.page.html\n\tmodified: src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts\n\tmodified: src/app/pages/agenda/agenda.page.html\n\tmodified: src/app/pages/agenda/agenda.page.ts\n\tmodified: src/app/pages/agenda/new-event/new-event.page.html\n\tmodified: src/app/pages/agenda/new-event/new-event.page.scss\n\tmodified: src/app/pages/agenda/new-event/new-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.html\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html\n\tmodified: src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html\n\tmodified: src/app/pages/publications/edit-action/edit-action.page.html\n\tmodified: src/app/pages/publications/new-action/new-action.page.html\n\tmodified: src/app/pages/publications/new-action/new-action.page.scss\n\tmodified: src/app/pages/publications/new-publication/new-publication.page.html\n\tmodified: src/app/pages/publications/new-publication/new-publication.page.scss\n\tmodified: src/app/services/events.service.ts\n\tmodified: src/app/services/native-notification.service.ts\n\tmodified: src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html\n\tmodified: src/app/shared/agenda/edit-event/edit-event.page.html\n\tmodified: src/app/shared/agenda/new-event/new-event.page.html\n\tmodified: src/app/shared/agenda/new-event/new-event.page.scss\n\tmodified: src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html\n\tmodified: src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.scss\n\tmodified: src/app/shared/publication/edit-action/edit-action.page.html\n\tmodified: src/app/shared/publication/new-action/new-action.page.html\n\tmodified: src/app/shared/publication/new-action/new-action.page.scss\n\tmodified: src/app/shared/publication/new-publication/new-publication.page.html\n\tmodified: src/app/shared/publication/new-publication/new-publication.page.scss\n\tnew file: src/assets/images/exclamation-mark.png\n\tnew file: src/assets/images/exclamation_mark.svg\n\tmodified: src/environments/environment.prod.ts\n\tmodified: src/environments/environment.ts",
"changeAuthor": "eudes.inacio"
}