Commit 6975c7f9 by sawit

เพิ่มหน้า Home All Module && Edit set token by module

parent c0c70745
<div class="container mx-auto px-4 py-8">
<div class="flex justify-end mb-6">
<button class="" (click)="logout()">Logout</button>
</div>
<h1 class="text-4xl font-bold text-indigo-900 mb-10">Application</h1>
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8">
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/myhr-plus/dashboard">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/myhr-plus.jpg" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">myHR-Plus</h3> -->
<p class="card-description text-gray-600 text-sm">myHR-Plus</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/myhr-lite/dashboard">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/myHR-Lite-logo-new.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">myHR-Lite</h3> -->
<p class="card-description text-gray-600 text-sm">myHR-Lite</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/zeeme/dashboard">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/zeemePlus.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">Zeeme Plus</h3> -->
<p class="card-description text-gray-600 text-sm">Zeeme Plus</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/myface/dashboard">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/logo_myface.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">myFace</h3> -->
<p class="card-description text-gray-600 text-sm">myFace</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/mylearn/mylearn-pdpa-manage">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/mylearn-logo.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">myLearn</h3> -->
<p class="card-description text-gray-600 text-sm">myLearn</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/myjob/pdpa-manage">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/logo_myjob.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">myJob</h3> -->
<p class="card-description text-gray-600 text-sm">myJob</p>
</a>
<a class="card bg-white rounded-xl p-8 text-center shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl hover:bg-gradient-to-br from-blue-50 to-blue-100"
routerLink="/myskill-x/portal-category-list">
<div class="card-icon text-5xl text-indigo-700 mb-4 transition-transform duration-300 ease-in-out group-hover:scale-110">
<img src="./assets/images/logoallHR/mySkill-x.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[5rem] align-middle flex justify-center mx-auto">
</div>
<!-- <h3 class="card-title text-2xl font-semibold text-gray-800 mb-2">mySkill-X</h3> -->
<p class="card-description text-gray-600 text-sm">mySkill-X</p>
</a>
</div>
</div>
\ No newline at end of file
/* tslint:disable:no-unused-variable */
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { HomeComponent } from './home.component';
describe('HomeComponent', () => {
let component: HomeComponent;
let fixture: ComponentFixture<HomeComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ HomeComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(HomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component } from '@angular/core';
import { Router, RouterLink } from '@angular/router';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
standalone: true,
imports: [RouterLink]
})
export class HomeComponent {
constructor(private router: Router) { }
logout() {
localStorage.removeItem('authToken'); // Clear the authentication token
this.router.navigate(['/auth/login']); // Navigate to the login page
}
}
......@@ -9,6 +9,7 @@ import { LandingLayoutComponent } from './shared/layouts/landing-layout/landing-
import { AuthGuard } from './shared/services/auth.guard';
import { LoginComponent } from './authentication/login/login.component';
import { CoverComponent } from './components/authentication/reset-password/cover/cover.component';
import { HomeComponent } from './DPU/home/home.component';
export const App_Route: Route[] = [
{ path: '', redirectTo: 'auth/login', pathMatch: 'full' },
......@@ -21,5 +22,9 @@ export const App_Route: Route[] = [
{
path: 'auth/reset-password',
component: CoverComponent
}
},
{
path: 'home',
component: HomeComponent
},
]
......@@ -8,7 +8,7 @@
<div class="box">
<div class="box-body !p-[3rem]">
<div class="my-[2.5rem] flex justify-center">
<a routerLink="/dashboard/crm">
<a>
<img src="./assets/images/brand-logos/logo.png" alt="logo" class="desktop-logo">
<img src="./assets/images/brand-logos/logo.png" alt="logo" class="desktop-dark">
</a>
......
......@@ -142,7 +142,7 @@ export class LoginComponent {
if (response.accessToken) {
this.tokenService.saveToken(response.accessToken);
}
this.routes.navigate(['/myjob/pdpa-manage']);
this.routes.navigate(['/home']);
},
error: (error) => {
console.error('Login failed', error);
......
......@@ -343,7 +343,7 @@
</div>
<div class="">
<a (click)="goToMyLearn()"
<a routerLink="/mylearn/mylearn-pdpa-manage"
class="p-4 items-center related-app block text-center rounded-sm hover:bg-gray-50 dark:hover:bg-black/20">
<img src="./assets/images/logoallHR/mylearn-logo.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[1.75rem] align-middle flex justify-center mx-auto">
......@@ -353,7 +353,7 @@
</div>
<div class="">
<a (click)="goToMyJob()"
<a routerLink="/myjob/pdpa-manage"
class="p-4 items-center related-app block text-center rounded-sm hover:bg-gray-50 dark:hover:bg-black/20">
<img src="./assets/images/logoallHR/logo_myjob.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[1.75rem] align-middle flex justify-center mx-auto">
......@@ -363,7 +363,7 @@
</div>
<div class="">
<a (click)="goToMySkillX()"
<a routerLink="/myskill-x/portal-category-list"
class="p-4 items-center related-app block text-center rounded-sm hover:bg-gray-50 dark:hover:bg-black/20">
<img src="./assets/images/logoallHR/mySkill-x.png" alt="miscrosoft"
class="leading-[1.75] text-2xl !h-[1.75rem] align-middle flex justify-center mx-auto">
......@@ -408,8 +408,8 @@
alt="Image Description"> -->
</button>
<div class="md:block hidden dropdown-profile">
<p class="font-semibold mb-0 leading-none text-[#536485] text-[0.813rem] ">{{userProfile.firstName+" "+userProfile.lastName}}</p>
<span class="opacity-[0.7] font-normal text-[#536485] block text-[0.6875rem] ">{{userProfile.getRole()}}</span>
<p class="font-semibold mb-0 leading-none text-[#536485] text-[0.813rem] ">{{userModel.firstName+" "+userModel.lastName}}</p>
<span class="opacity-[0.7] font-normal text-[#536485] block text-[0.6875rem] ">{{userModel.getRole()}}</span>
</div>
<div
class="hs-dropdown-menu ti-dropdown-menu !-mt-3 border-0 w-[11rem] !p-0 border-defaultborder hidden main-header-dropdown pt-0 overflow-hidden header-profile-dropdown dropdown-menu-end"
......
import { Component, ElementRef, Renderer2, OnInit } from '@angular/core';
import { Component, ElementRef, Renderer2 } from '@angular/core';
import { Menu, NavService } from '../../services/nav.service';
import { TokenService } from '../../services/token.service';
import { TranslateService } from '@ngx-translate/core';
......@@ -19,9 +19,8 @@ interface Item {
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
userModel: UserModel;
userProfile: UserProfileModel;
export class HeaderComponent {
userModel : UserProfileModel = new UserProfileModel(this.tokenService.getUser(),this.translate)
adminRole = true;
cartItemCount: number = 5;
notificationCount: number = 5;
......@@ -30,8 +29,7 @@ export class HeaderComponent implements OnInit {
constructor(public navServices: NavService,
private elementRef: ElementRef, private renderer: Renderer2,
private tokenService: TokenService,
private translate: TranslateService,
private router: Router) {
private translate: TranslateService) {
this.translate.use(
sessionStorage.getItem("Lang") != null
......@@ -148,8 +146,6 @@ export class HeaderComponent implements OnInit {
public text!: string;
public SearchResultEmpty: boolean = false;
ngOnInit() {
this.userModel = this.tokenService.getUser();
this.userProfile = new UserProfileModel(this.userModel, this.translate);
this.adminRole = true
console.log("Admin",this.adminRole)
this.navServices.items.subscribe((menuItems) => {
......@@ -157,20 +153,6 @@ export class HeaderComponent implements OnInit {
});
}
goToMySkillX(){
this.tokenService.saveToken(`${environment.portalFixedToken}`);
this.router.navigate(['/myskill-x/portal-category-list']);
}
goToMyJob(){
this.tokenService.saveToken(this.userModel.accessToken);
this.router.navigate(['/myjob/pdpa-manage']);
}
goToMyLearn(){
this.tokenService.saveToken(this.userModel.accessToken);
this.router.navigate(['/mylearn/mylearn-pdpa-manage']);
}
Search(searchText: string) {
if (!searchText) return this.menuItems = [];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment