pages updated - dynamic theme

This commit is contained in:
Çetin 2022-01-20 12:03:45 +03:00
parent 790119b9b4
commit 7d5af7fcf9
9 changed files with 127 additions and 42 deletions

View File

@ -7,10 +7,10 @@
<div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;"> <div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;">
<div class="grid flex flex-column align-items-center"> <div class="grid flex flex-column align-items-center">
<div class="flex justify-content-center align-items-center bg-orange-500 border-circle" style="width:3.2rem; height:3.2rem;"> <div class="flex justify-content-center align-items-center bg-orange-500 border-circle" style="width:3.2rem; height:3.2rem;">
<i class="pi pi-fw pi-lock text-2xl text-50"></i> <i class="pi pi-fw pi-lock text-2xl" [ngClass]="config.dark ? 'text-900' : 'text-50'"></i>
</div> </div>
<h1 class="text-gray-900 font-bold text-4xl lg:text-5xl mb-2">Access Denied</h1> <h1 class="font-bold text-4xl lg:text-5xl mb-2" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Access Denied</h1>
<span class="text-gray-600 text-center">You do not have the necesary permisions. Please contact admins.</span> <span class="text-center" [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">You do not have the necesary permisions. Please contact admins.</span>
<img src="assets/layout/images/asset-access.svg" alt="Access denied" class="mt-5" width="80%"> <img src="assets/layout/images/asset-access.svg" alt="Access denied" class="mt-5" width="80%">
<div class="col-12 mt-5 text-center"> <div class="col-12 mt-5 text-center">
<i class="pi pi-fw pi-arrow-left text-blue-500 mr-2" style="vertical-align:center;"></i><a href="#" class="text-blue-500">Go to Dashboard</a> <i class="pi pi-fw pi-arrow-left text-blue-500 mr-2" style="vertical-align:center;"></i><a href="#" class="text-blue-500">Go to Dashboard</a>

View File

@ -1,7 +1,28 @@
import { Component } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { ConfigService } from '../../service/app.config.service';
import { AppConfig } from '../../api/appconfig';
import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-access', selector: 'app-access',
templateUrl: './access.component.html', templateUrl: './access.component.html',
}) })
export class AccessComponent { } export class AccessComponent implements OnInit, OnDestroy {
config: AppConfig;
subscription: Subscription;
constructor(public configService: ConfigService){ }
ngOnInit(): void {
this.config = this.configService.config;
this.subscription = this.configService.configUpdate$.subscribe(config => {
this.config = config;
});
}
ngOnDestroy(): void {
if(this.subscription){
this.subscription.unsubscribe();
}
}
}

View File

@ -7,10 +7,10 @@
<div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;"> <div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;">
<div class="grid flex flex-column align-items-center"> <div class="grid flex flex-column align-items-center">
<div class="flex justify-content-center align-items-center bg-pink-500 border-circle" style="height:3.2rem; width:3.2rem;"> <div class="flex justify-content-center align-items-center bg-pink-500 border-circle" style="height:3.2rem; width:3.2rem;">
<i class="pi pi-fw pi-exclamation-circle text-2xl text-50"></i> <i class="pi pi-fw pi-exclamation-circle text-2xl" [ngClass]="config.dark ? 'text-900' : 'text-50'"></i>
</div> </div>
<h1 class="font-bold text-5xl text-gray-900 mb-2">Error Occured</h1> <h1 class="font-bold text-5xl mb-2" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Error Occured</h1>
<span class="text-gray-600">Requested resource is not available.</span> <span [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Requested resource is not available.</span>
<img src="assets/layout/images/asset-error.svg" alt="Error" class="mt-5" width="80%"> <img src="assets/layout/images/asset-error.svg" alt="Error" class="mt-5" width="80%">
<div class="col-12 mt-5 text-center"> <div class="col-12 mt-5 text-center">
<i class="pi pi-fw pi-arrow-left text-blue-500 mr-2" style="vertical-align:center;"></i><a href="#" class="text-blue-500">Go to Dashboard</a> <i class="pi pi-fw pi-arrow-left text-blue-500 mr-2" style="vertical-align:center;"></i><a href="#" class="text-blue-500">Go to Dashboard</a>

View File

@ -1,7 +1,29 @@
import { Component } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { ConfigService } from '../../service/app.config.service';
import { AppConfig } from '../../api/appconfig';
import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-error', selector: 'app-error',
templateUrl: './error.component.html', templateUrl: './error.component.html',
}) })
export class ErrorComponent { } export class ErrorComponent implements OnInit, OnDestroy {
config: AppConfig;
subscription: Subscription;
constructor(public configService: ConfigService){ }
ngOnInit(): void {
this.config = this.configService.config;
this.subscription = this.configService.configUpdate$.subscribe(config => {
this.config = config;
});
}
ngOnDestroy(): void {
if(this.subscription){
this.subscription.unsubscribe();
}
}
}

View File

@ -1,4 +1,7 @@
import { Component, OnInit, OnDestroy } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { ConfigService } from '../../service/app.config.service';
import { AppConfig } from '../../api/appconfig';
import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-landing', selector: 'app-landing',
templateUrl: './landing.component.html', templateUrl: './landing.component.html',
@ -49,19 +52,27 @@ import { Component, OnInit, OnDestroy } from '@angular/core';
} }
`] `]
}) })
export class LandingComponent implements OnInit { export class LandingComponent implements OnInit, OnDestroy {
themeElement: any; themeElement: any;
constructor() { } config: AppConfig;
subscription: Subscription;
constructor(public configService: ConfigService) { }
ngOnInit(): void { ngOnInit(): void {
this.config = this.configService.config;
this.subscription = this.configService.configUpdate$.subscribe(config => {
this.config = config;
});
this.themeElement = document.getElementById('theme-css'); this.themeElement = document.getElementById('theme-css');
this.themeElement.setAttribute('href','assets/theme/saga-blue/theme.css'); this.themeElement.setAttribute('href','assets/theme/saga-blue/theme.css');
} }
ngOnDestroy(): void { ngOnDestroy(): void {
this.themeElement.setAttribute('href', 'assets/theme/lara-light-indigo/theme.css'); this.themeElement.setAttribute('href',`assets/theme/${this.config.theme}/theme.css`);
} }
} }

View File

@ -7,15 +7,15 @@
<div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;"> <div class="surface-card h-full w-full m-0 py-7 px-4" style="border-radius:53px;">
<div class="text-center mb-5"> <div class="text-center mb-5">
<img src="assets/layout/images/avatar.png" alt="Image" height="50" class="mb-3"> <img src="assets/layout/images/avatar.png" alt="Image" height="50" class="mb-3">
<div class="text-900 text-3xl font-medium mb-3">Welcome, Isabel!</div> <div class="text-3xl font-medium mb-3" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Welcome, Isabel!</div>
<span class="text-600 font-medium">Sign in to continue</span> <span class="font-medium" [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Sign in to continue</span>
</div> </div>
<div class="w-full md:w-10 mx-auto"> <div class="w-full md:w-10 mx-auto">
<label for="email1" class="block text-900 text-xl font-medium mb-2">Email</label> <label for="email1" class="block text-900 text-xl font-medium mb-2" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Email</label>
<input id="email1" type="text" pInputText class="w-full mb-3" style="padding:1rem;"> <input id="email1" type="text" pInputText class="w-full mb-3" style="padding:1rem;">
<label for="password1" class="block text-900 font-medium text-xl mb-2">Password</label> <label for="password1" class="block text-900 font-medium text-xl mb-2" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Password</label>
<p-password id="password1" [(ngModel)]="password" placeholder="Password" [toggleMask]="true" styleClass="w-full mb-3"></p-password> <p-password id="password1" [(ngModel)]="password" placeholder="Password" [toggleMask]="true" styleClass="w-full mb-3"></p-password>
<div class="flex align-items-center justify-content-between mb-5"> <div class="flex align-items-center justify-content-between mb-5">
@ -25,7 +25,7 @@
</div> </div>
<a class="font-medium no-underline ml-2 text-blue-500 text-right cursor-pointer">Forgot password?</a> <a class="font-medium no-underline ml-2 text-blue-500 text-right cursor-pointer">Forgot password?</a>
</div> </div>
<button pButton pRipple label="Sign In" class="w-full p-3 text-xl"></button> <button pButton pRipple label="Sign In" class="w-full p-3 text-xl bg-blue-500 border-none" [ngClass]="config.dark ? 'text-900' : 'text-50'"></button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,5 +1,7 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { ConfigService } from '../../service/app.config.service';
import { AppConfig } from '../../api/appconfig';
import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-login', selector: 'app-login',
templateUrl: './login.component.html', templateUrl: './login.component.html',
@ -20,21 +22,28 @@ import { Component, OnInit } from '@angular/core';
} }
`] `]
}) })
export class LoginComponent implements OnInit { export class LoginComponent implements OnInit, OnDestroy {
valCheck: string[] = ['remember']; valCheck: string[] = ['remember'];
password: string;
themeElement: any;
constructor() { } password: string;
config: AppConfig;
subscription: Subscription;
constructor(public configService: ConfigService){ }
ngOnInit(): void { ngOnInit(): void {
this.themeElement = document.getElementById('theme-css'); this.config = this.configService.config;
this.themeElement.setAttribute('href','assets/theme/saga-blue/theme.css'); this.subscription = this.configService.configUpdate$.subscribe(config => {
this.config = config;
});
} }
ngOnDestroy(): void { ngOnDestroy(): void {
this.themeElement.setAttribute('href', 'assets/theme/lara-light-indigo/theme.css'); if(this.subscription){
this.subscription.unsubscribe();
}
} }
} }

View File

@ -7,33 +7,33 @@
<div class="surface-card flex justify-content-center h-full w-full m-0 py-7 px-4" style="border-radius:53px;"> <div class="surface-card flex justify-content-center h-full w-full m-0 py-7 px-4" style="border-radius:53px;">
<div class="grid flex-column align-items-center"> <div class="grid flex-column align-items-center">
<span class="text-blue-500 font-bold text-3xl">404</span> <span class="text-blue-500 font-bold text-3xl">404</span>
<h1 class="text-gray-900 font-bold text-3xl lg:text-5xl mb-2">Looks like you are lost</h1> <h1 class="font-bold text-3xl lg:text-5xl mb-2" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Looks like you are lost</h1>
<span class="text-gray-600">Requested resource is not available.</span> <span [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Requested resource is not available.</span>
<div class="col-12 flex align-items-center py-5 mt-6 border-300 border-bottom-1"> <div class="col-12 flex align-items-center py-5 mt-6 border-300 border-bottom-1">
<div class="flex justify-content-center align-items-center bg-cyan-400 border-round" style="height:3.5rem; width:3.5rem;"> <div class="flex justify-content-center align-items-center bg-cyan-400 border-round" style="height:3.5rem; width:3.5rem;">
<i class="pi pi-fw pi-table text-50 text-2xl"></i> <i class="pi pi-fw pi-table text-2xl" [ngClass]="config.dark ? 'text-900' : 'text-50'"></i>
</div> </div>
<div class="ml-4"> <div class="ml-4">
<p class="text-gray-900 lg:text-xl font-medium mb-0">Frequently Asked Questions</p> <p class="lg:text-xl font-medium mb-0" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Frequently Asked Questions</p>
<span class="text-gray-600 lg:text-xl">Ultricies mi quis hendrerit dolor.</span> <span class="lg:text-xl" [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Ultricies mi quis hendrerit dolor.</span>
</div> </div>
</div> </div>
<div class="col-12 flex align-items-center py-5 border-300 border-bottom-1"> <div class="col-12 flex align-items-center py-5 border-300 border-bottom-1">
<div class="flex justify-content-center align-items-center bg-orange-400 border-round" style="height:3.5rem; width:3.5rem;"> <div class="flex justify-content-center align-items-center bg-orange-400 border-round" style="height:3.5rem; width:3.5rem;">
<i class="pi pi-fw pi-question-circle text-50 text-2xl"></i> <i class="pi pi-fw pi-question-circle text-2xl" [ngClass]="config.dark ? 'text-900' : 'text-50'"></i>
</div> </div>
<div class="ml-4"> <div class="ml-4">
<p class="text-gray-900 lg:text-xl font-medium mb-0">Solution Center</p> <p class="lg:text-xl font-medium mb-0" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Solution Center</p>
<span class="text-gray-600 lg:text-xl">Phasellus faucibus scelerisque eleifend.</span> <span class="lg:text-xl" [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Phasellus faucibus scelerisque eleifend.</span>
</div> </div>
</div> </div>
<div class="col-12 flex align-items-center py-5 border-300 border-bottom-1"> <div class="col-12 flex align-items-center py-5 border-300 border-bottom-1">
<div class="flex justify-content-center align-items-center bg-indigo-400 border-round" style="height:3.5rem; width:3.5rem;"> <div class="flex justify-content-center align-items-center bg-indigo-400 border-round" style="height:3.5rem; width:3.5rem;">
<i class="pi pi-fw pi-unlock text-50 text-2xl"></i> <i class="pi pi-fw pi-unlock text-2xl" [ngClass]="config.dark ? 'text-900' : 'text-50'"></i>
</div> </div>
<div class="ml-4"> <div class="ml-4">
<p class="text-gray-900 lg:text-xl font-medium mb-0">Permission Manager</p> <p class="lg:text-xl font-medium mb-0" [ngClass]="config.dark ? 'text-900' : 'text-gray-900'">Permission Manager</p>
<span class="text-gray-600 lg:text-xl">Accumsan in nisl nisi scelerisque</span> <span class="lg:text-xl" [ngClass]="config.dark ? 'text-600' : 'text-gray-600'">Accumsan in nisl nisi scelerisque</span>
</div> </div>
</div> </div>
<div class="col-12 mt-5 text-center"> <div class="col-12 mt-5 text-center">

View File

@ -1,7 +1,29 @@
import { Component } from '@angular/core'; import { Component, OnInit, OnDestroy } from '@angular/core';
import { ConfigService } from '../../service/app.config.service';
import { AppConfig } from '../../api/appconfig';
import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-notfound', selector: 'app-notfound',
templateUrl: './notfound.component.html', templateUrl: './notfound.component.html',
}) })
export class NotfoundComponent { } export class NotfoundComponent implements OnInit, OnDestroy {
config: AppConfig;
subscription: Subscription;
constructor(public configService: ConfigService){ }
ngOnInit(): void {
this.config = this.configService.config;
this.subscription = this.configService.configUpdate$.subscribe(config => {
this.config = config;
});
}
ngOnDestroy(): void {
if(this.subscription){
this.subscription.unsubscribe();
}
}
}