New themes added

This commit is contained in:
Eudes Inácio
2021-10-20 17:46:03 +01:00
parent de29ff978d
commit 55f5fd822d
10 changed files with 222 additions and 91 deletions
+4 -1
View File
@@ -58,6 +58,7 @@ import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
import { PdfViewerModule } from 'ng2-pdf-viewer';
import { SQLite } from '@ionic-native/sqlite/ngx';
import { CookieService } from 'ngx-cookie-service';
import { AngularSvgIconModule } from 'angular-svg-icon';
@NgModule({
declarations: [AppComponent],
@@ -92,6 +93,7 @@ import { CookieService } from 'ngx-cookie-service';
//
PdfViewerModule,
HammerModule,
AngularSvgIconModule.forRoot()
],
providers: [
{ provide: MAT_DATE_LOCALE, useValue: 'pt' },
@@ -112,7 +114,8 @@ import { CookieService } from 'ngx-cookie-service';
Network,
File,
SQLite,
CookieService
CookieService,
AngularSvgIconModule
],
bootstrap: [AppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
@@ -21,9 +21,9 @@
</div> -->
</div>
<div >
<div>
<div class="d-flex align-center">
<ion-icon class="profile-pic" src="assets/images/icons-default-profile.svg"></ion-icon>
<ion-icon class="profile-pic" src="assets/images/icons-default-profile.svg"></ion-icon>
</div>
</div>
@@ -51,15 +51,41 @@
</div>
</div>
</div>
<div class="profile-title d-flex justify-space-between align-center width-100">
<div class="d-flex align-center">
<div>Tema</div>
</div>
</div>
<div class="profile-title d-flex justify-space-between align-center width-100">
<div class="d-flex align-center">
<div class="btn-close d-flex cursor-pointer" (click)="changeTheme('grey')">
<ion-icon class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
<div class="btn-close d-flex cursor-pointer" (click)="changeTheme('blue')">
<ion-icon class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
<div class="btn-close d-flex cursor-pointer" (click)="close()">
<ion-icon class="icon" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
</div>
</div>
</div>
<div class="login-preference width-100" *ngIf="!platform.is('desktop') && !platform.is('mobileweb')">
<div class="preference">Preferência Login</div>
<ion-row>
<ion-col class="align-center d-flex">
<div class="d-flex align-center" (click)="LoginPreferenceMethod('Pin')">
<ion-checkbox [checked]="SessionStore.user.LoginPreference=='Pin' " class="checkBox" ></ion-checkbox>
<div class="d-flex align-center" (click)="LoginPreferenceMethod('Pin')">
<ion-checkbox [checked]="SessionStore.user.LoginPreference=='Pin' " class="checkBox"></ion-checkbox>
PIN
</div>
</ion-col>
@@ -77,15 +103,15 @@
<div class="d-flex justify-space-between">
<ion-buttons slot="start" (click)="close()">
<button class="btn-cancel" fill="clear" color="#061b52" >
<button class="btn-cancel" fill="clear" color="#061b52">
<ion-label>Cancelar</ion-label>
</button>
</ion-buttons>
<ion-buttons slot="end" (click)="close()">
<button class="btn-ok" fill="clear" color="#fff" >
<ion-label>Gravar</ion-label>
</button>
</ion-buttons>
</ion-buttons>
<ion-buttons slot="end" (click)="close()">
<button class="btn-ok" fill="clear" color="#fff">
<ion-label>Gravar</ion-label>
</button>
</ion-buttons>
</div>
</ion-footer>
</ion-footer>
@@ -1,10 +1,10 @@
import { Component, OnInit } from '@angular/core';
import { AnimationController, ModalController } from '@ionic/angular';
import { AnimationController, ModalController,Platform } from '@ionic/angular';
import { FingerprintPage } from 'src/app/shared/fingerprint/fingerprint.page';
import { PinPage } from 'src/app/shared/pin/pin.page';
import { SessionStore } from 'src/app/store/session.service';
import { environment } from 'src/environments/environment';
import { Platform } from '@ionic/angular';
import { BackgroundService } from 'src/app/services/background.service';
@Component({
selector: 'app-edit-profile',
@@ -19,6 +19,7 @@ export class EditProfilePage implements OnInit {
constructor(private modalController:ModalController,
private animationController: AnimationController,
public platform: Platform,
private backgroundservice: BackgroundService
) {}
ngOnInit() {}
@@ -113,5 +114,15 @@ export class EditProfilePage implements OnInit {
}
changeTheme(name) {
/* this.theme.setTheme(themes[name]); */
if(name == 'grey') {
this.backgroundservice.greyTheme();
} else if (name == 'blue') {
this.backgroundservice.blueTheme();
}
}
}
@@ -3,7 +3,7 @@ import { NavigationEnd, NavigationExtras, Router } from '@angular/router';
import { customTask, DailyWorkTask } from '../../../models/dailyworktask.model';
import { ProcessesService } from 'src/app/services/processes.service';
import { formatDate } from '@angular/common';
import { ModalController, NavParams } from '@ionic/angular';
import { ModalController, NavParams, Platform } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/diploma.page';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
+31
View File
@@ -46,4 +46,35 @@ export class BackgroundService {
object
})
}
greyTheme() {
document.body.style.setProperty(`--color`, "#D9D9D9");
document.body.style.setProperty(`--color2`, "#f0f0f0");
document.body.style.setProperty(`--color3`, "#D9D9D9");
document.body.style.setProperty(`--color4`, "#d9d9d9ee");
document.body.style.setProperty(`--color5`, "#ececec");
document.body.style.setProperty(`--header-container-background`, "#fff");
document.body.style.setProperty(`--headercolor`, "#000");
document.body.style.setProperty(`--header-bottom-line-background`, "rgb(255, 0, 0)");
document.body.style.setProperty(`--header-bottom-line-background-image`, "linear-gradient(to right, #C63527, #FFB81C, #FFC72C)");
}
blueTheme() {
document.body.style.setProperty(`--color`, "#0782C9");
document.body.style.setProperty(`--color2`, "#45BAFF");
document.body.style.setProperty(`--color3`, "#0782C9");
document.body.style.setProperty(`--color4`, "#0782c9f0");
document.body.style.setProperty(`--color5`, "#f7f5f2");
document.body.style.setProperty(`--header-container-background`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important");
document.body.style.setProperty(`--headercolor`, "#000");
document.body.style.setProperty(`--header-bottom-line-background`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important");
document.body.style.setProperty(`--header-bottom-line-background-image`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important");
}
}
+86 -75
View File
@@ -1,94 +1,105 @@
<div class="main-tab pb-10 ion-toolbar text-white">
<div class="header-container">
<div class="main-tab pb-10 ion-toolbar text-white">
<div class="mobile d-flex div-top-header justify-space-between">
<div *ngIf="!hideSearchBtn" class="div-search">
<div (click)="openSearch()">
<ion-icon class="font-45" src='assets/images/icons-search.svg'></ion-icon>
<div class="mobile d-flex div-top-header justify-space-between">
<div *ngIf="!hideSearchBtn" class="div-search">
<div (click)="openSearch()">
<ion-icon class="font-45" src='assets/images/icons-search.svg'></ion-icon>
</div>
</div>
</div>
<div class="div-logo height-fit-content">
<img src='assets/images/logo-no-bg.png' alt='logo'>
</div>
<div class="div-profile cursor-pointer" (click)="openProfile()">
<div *ngIf="this.notificationLength > 0" class="icon-badge" >{{this.notificationLength}}</div>
<ion-icon class="icon" src='assets/images/icons-profile.svg'></ion-icon>
<ion-label class="profile-text">{{loggeduser.Profile}}</ion-label>
</div>
</div>
<div class="desktop mx-20">
<div class="d-flex justify-space-between align-center">
<div tab="events" class="div-logo height-fit-content">
<div class="div-logo height-fit-content">
<img src='assets/images/logo-no-bg.png' alt='logo'>
</div>
<div class="d-flex flex-1 pr-20 pl-50">
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/events')" [class.active]="locationPathname() == '/home/events'">
<ion-icon class="font-40" src='assets/images/icons-nav-home-active.svg'></ion-icon>
<span>Início</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/agenda')" [class.active]="locationPathname() == '/home/agenda'">
<ion-icon class="font-40" src='assets/images/icons-nav-agenda-inactive.svg'></ion-icon>
<span>Agenda</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/gabinete-digital')" [class.active]="locationPathname() == '/home/gabinete-digital'">
<ion-icon class="font-40" src='assets/images/icons-nav-home-dk.svg'></ion-icon>
<span>Gabinete</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/publications')" [class.active]="locationPathname() == '/home/publications'">
<ion-icon class="font-40" src='assets/images/icons-nav-a-es-inactive.svg'></ion-icon>
<span>Acções</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/chat')" [class.active]="locationPathname() == '/home/chat'">
<ion-icon class="font-40" src='assets/images/icons-nav-grupos-inactive-dk-white.svg'></ion-icon>
<span>Chat</span>
</div>
<div class="div-profile cursor-pointer" (click)="openProfile()">
<div *ngIf="this.notificationLength > 0" class="icon-badge">{{this.notificationLength}}</div>
<ion-icon class="icon" src='assets/images/icons-profile.svg'></ion-icon>
<ion-label class="profile-text">{{loggeduser.Profile}}</ion-label>
</div>
</div>
<div class="header-btns d-flex">
<div *ngIf="!hideSearchBtn" class="mr-10 d-flex align-center cursor-pointer">
<div style="padding-top: 5px;" (click)="openSearch();showSearch=true" *ngIf="!showSearch" >
<ion-icon class="font-45" src='assets/images/icons-search.svg'></ion-icon>
<div class="desktop mx-20">
<div class="d-flex justify-space-between align-center">
<div tab="events" class="div-logo height-fit-content">
<img src='assets/images/logo-no-bg.png' alt='logo'>
</div>
<div class="d-flex flex-1 pr-20 pl-50">
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/events')"
[class.active]="locationPathname() == '/home/events'">
<ion-icon class="font-40" src='assets/images/icons-nav-home-active-black.svg'></ion-icon>
<span>Início</span>
</div>
<button class="btn-no-color" (click)="closeSearch();showSearch=false;searchSubject=''" *ngIf="showSearch" >
<ion-icon class="font-40" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
</button>
<div *ngIf="showSearch">
<div class="d-flex search-input-container ml-10 justify-between" *ngIf="showSearch" >
<div class="icon" (click)="basicSearch()">
<ion-icon class="icon-z" slot="end" name="search"></ion-icon>
</div>
<div class="input-text d-flex ion-align-items-center">
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' (ngModelChange)="dynamicSearch()" class="search-input text-black" type="search" placeholder="Pesquisar"></ion-input>
</div>
<div class="icon" (click)="clearSearchInput()">
<ion-icon name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/agenda')"
[class.active]="locationPathname() == '/home/agenda'">
<ion-icon class="font-40" src='assets/images/icons-nav-agenda-inactive.svg'></ion-icon>
<span>Agenda</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/gabinete-digital')"
[class.active]="locationPathname() == '/home/gabinete-digital'">
<ion-icon class="font-40" src='assets/images/icons-nav-home-dk.svg'></ion-icon>
<span>Gabinete</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/publications')"
[class.active]="locationPathname() == '/home/publications'">
<ion-icon class="font-40" src='assets/images/icons-nav-a-es-inactive.svg'></ion-icon>
<span>Acções</span>
</div>
<div class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/chat')"
[class.active]="locationPathname() == '/home/chat'">
<ion-icon class="font-40" src='assets/images/icons-nav-grupos-inactive-dk-white.svg'></ion-icon>
<span>Chat</span>
</div>
</div>
<div class="header-btns d-flex">
<div *ngIf="!hideSearchBtn" class="mr-10 d-flex align-center cursor-pointer">
<div style="padding-top: 5px;" (click)="openSearch();showSearch=true" *ngIf="!showSearch">
<ion-icon class="font-45" src='assets/images/icons-search.svg'></ion-icon>
</div>
<button class="btn-no-color" (click)="closeSearch();showSearch=false;searchSubject=''" *ngIf="showSearch">
<ion-icon class="font-40" name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
</button>
<div *ngIf="showSearch">
<div class="d-flex search-input-container ml-10 justify-between" *ngIf="showSearch">
<div class="icon" (click)="basicSearch()">
<ion-icon class="icon-z" slot="end" name="search"></ion-icon>
</div>
<div class="input-text d-flex ion-align-items-center">
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' (ngModelChange)="dynamicSearch()"
class="search-input text-black" type="search" placeholder="Pesquisar"></ion-input>
</div>
<div class="icon" (click)="clearSearchInput()">
<ion-icon name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
</div>
</div>
</div>
</div>
</div>
<div class="div-profile d-flex cursor-pointer" (click)="openProfile()">
<ion-icon class="icon" src='assets/images/icons-profile.svg'></ion-icon>
<div class="div-profile d-flex cursor-pointer" (click)="openProfile()">
<ion-icon class="icon" src='assets/images/icons-profile.svg'></ion-icon>
<div class="profile-text">
<ion-label>{{profileLabel(loggeduser.Profile)}}</ion-label>
<div *ngIf="this.notificationLength > 0 && !production" class="icon-badge"
style="right: -18px;top: -9px;">
{{notificationLength}}</div>
</div>
<div class="profile-text">
<ion-label>{{profileLabel(loggeduser.Profile)}}</ion-label>
<div *ngIf="this.notificationLength > 0 && !production" class="icon-badge" style="right: -18px;top: -9px;" >{{notificationLength}}</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="header-bottom-line"></div>
</div>