mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-16 15:40:11 +01:00
73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
import {Component, OnDestroy} from '@angular/core';
|
|
import {NbMediaBreakpoint, NbThemeService} from '@nebular/theme';
|
|
import {Router} from '@angular/router';
|
|
import {AnalyticsService} from '../@core/utils';
|
|
import { environment } from '../../environments/environment';
|
|
|
|
@Component({
|
|
selector: 'ngx-starter',
|
|
templateUrl: './starter.component.html',
|
|
styleUrls: ['./starter.component.scss'],
|
|
})
|
|
export class NgxStarterComponent implements OnDestroy {
|
|
breakpoint: NbMediaBreakpoint;
|
|
breakpoints: any;
|
|
|
|
themes = [
|
|
{
|
|
value: 'material-light',
|
|
name: 'Material Light',
|
|
},
|
|
{
|
|
value: 'dark',
|
|
name: 'Dark',
|
|
},
|
|
{
|
|
value: 'default',
|
|
name: 'Light',
|
|
},
|
|
{
|
|
value: 'material-dark',
|
|
name: 'Material Dark',
|
|
},
|
|
{
|
|
value: 'corporate',
|
|
name: 'Corporate',
|
|
},
|
|
{
|
|
value: 'cosmic',
|
|
name: 'Cosmic',
|
|
},
|
|
];
|
|
|
|
constructor(private router: Router,
|
|
protected themeService: NbThemeService,
|
|
private analytics: AnalyticsService,
|
|
) {}
|
|
|
|
navigate(themeName: string) {
|
|
const currentTheme = {
|
|
themeName: themeName,
|
|
expires_in: this.calculateExpiration(environment.currentThemeLife),
|
|
};
|
|
|
|
localStorage.setItem('theme', JSON.stringify(currentTheme));
|
|
|
|
this.themeService.changeTheme(themeName);
|
|
this.router.navigate(['/pages/dashboard'], {queryParams: {theme: themeName}});
|
|
}
|
|
|
|
trackEmailClick() {
|
|
this.analytics.trackEvent('clickContactEmail', 'click');
|
|
}
|
|
|
|
ngOnDestroy() {
|
|
}
|
|
|
|
calculateExpiration(iat: number): number {
|
|
const currentDate = new Date().getTime();
|
|
const timestamp = iat || Math.floor(Date.now() / 1000);
|
|
|
|
return Math.floor(timestamp + currentDate);
|
|
}
|
|
}
|