first commit
This commit is contained in:
0
src/app/_layout/footer/footer.component.css
Normal file
0
src/app/_layout/footer/footer.component.css
Normal file
29
src/app/_layout/footer/footer.component.html
Normal file
29
src/app/_layout/footer/footer.component.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<footer id="footer" class="footer footer-static footer-light navbar-border navbar-shadow" *ngIf="showFooter">
|
||||
<p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span
|
||||
class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]=""
|
||||
class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent"
|
||||
target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove"
|
||||
class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i
|
||||
class="feather ft-heart pink"></i>
|
||||
<span id="scroll-top"></span></span></p>
|
||||
</footer>
|
||||
|
||||
<footer id="footer" class="footer fixed-bottom footer-light navbar-border navbar-shadow" *ngIf="fixedFooter">
|
||||
<p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span
|
||||
class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]=""
|
||||
class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent"
|
||||
target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove"
|
||||
class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i
|
||||
class="feather ft-heart pink"></i>
|
||||
<span id="scroll-top"></span></span></p>
|
||||
</footer>
|
||||
|
||||
<footer id="footer" class="footer fixed-bottom footer-dark navbar-border navbar-shadow" *ngIf="darkFooter">
|
||||
<p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span
|
||||
class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]=""
|
||||
class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent"
|
||||
target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove"
|
||||
class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i
|
||||
class="feather ft-heart pink"></i>
|
||||
<span id="scroll-top"></span></span></p>
|
||||
</footer>
|
||||
25
src/app/_layout/footer/footer.component.spec.ts
Normal file
25
src/app/_layout/footer/footer.component.spec.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { FooterComponent } from './footer.component';
|
||||
|
||||
describe('FooterComponent', () => {
|
||||
let component: FooterComponent;
|
||||
let fixture: ComponentFixture<FooterComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ FooterComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(FooterComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
77
src/app/_layout/footer/footer.component.ts
Normal file
77
src/app/_layout/footer/footer.component.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
import { Component, OnInit, Renderer2 } from '@angular/core';
|
||||
import { ThemeSettingsService } from '../settings/theme-settings.service';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { Subject } from 'rxjs';
|
||||
import { Router, NavigationEnd, NavigationStart, Event } from '@angular/router';
|
||||
import { FullLayoutComponent } from '../full-layout/full-layout.component';
|
||||
import { AppConstants } from 'src/app/_helpers/app.constants';
|
||||
|
||||
@Component({
|
||||
selector: 'app-footer',
|
||||
templateUrl: './footer.component.html',
|
||||
styleUrls: ['./footer.component.css']
|
||||
})
|
||||
export class FooterComponent implements OnInit {
|
||||
|
||||
public showFooter: boolean;
|
||||
public fixedFooter: boolean;
|
||||
public darkFooter: boolean;
|
||||
public hideMadeWithLove: boolean;
|
||||
|
||||
private _unsubscribeAll: Subject<any>;
|
||||
private _themeSettingsConfig: any;
|
||||
|
||||
constructor(private renderer: Renderer2,
|
||||
private _renderer: Renderer2,
|
||||
private router: Router,
|
||||
private _themeSettingsService: ThemeSettingsService) {
|
||||
this._unsubscribeAll = new Subject();
|
||||
this.router.events.subscribe((event: Event) => {
|
||||
const footerElement = document.getElementsByClassName('footer');
|
||||
if (event instanceof NavigationStart) {
|
||||
// Show loading indicator
|
||||
}
|
||||
|
||||
if (event instanceof NavigationEnd) {
|
||||
if (this.router.url === '/email' && footerElement.item(0)) {
|
||||
this._renderer.removeClass(footerElement.item(0), 'footer-static');
|
||||
this.renderer.addClass(footerElement.item(0), 'fixed-bottom');
|
||||
} else if (footerElement.item(0)) {
|
||||
this._renderer.removeClass(footerElement.item(0), 'fixed-bottom');
|
||||
this.renderer.addClass(footerElement.item(0), 'footer-static');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
const isMobile = window.innerWidth < AppConstants.MOBILE_RESPONSIVE_WIDTH;
|
||||
if ((this.router.url.indexOf('WithNavbar') >= 0) || (this.router.url.indexOf('Advanced') >= 0) ||
|
||||
(this.router.url.indexOf('searchPage') >= 0)) {
|
||||
this.showFooter = false;
|
||||
this.darkFooter = true;
|
||||
this.fixedFooter = false;
|
||||
} else if (this.router.url.indexOf('email') >= 0) {
|
||||
this.showFooter = false;
|
||||
this.darkFooter = false;
|
||||
this.fixedFooter = true;
|
||||
} else if (FullLayoutComponent) {
|
||||
this.showFooter = true;
|
||||
this.darkFooter = false;
|
||||
this.fixedFooter = false;
|
||||
} else {
|
||||
this.showFooter = true;
|
||||
this.darkFooter = false;
|
||||
this.fixedFooter = false;
|
||||
}
|
||||
if (isMobile) {
|
||||
this.hideMadeWithLove = true;
|
||||
}
|
||||
// Subscribe to config changes
|
||||
this._themeSettingsService.config
|
||||
.pipe(takeUntil(this._unsubscribeAll))
|
||||
.subscribe((config) => {
|
||||
this._themeSettingsConfig = config;
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user