diff --git a/src/app/pages/tabs-page/tabs-page.html b/src/app/pages/tabs-page/tabs-page.html index fd661cd0..0bdb7b67 100644 --- a/src/app/pages/tabs-page/tabs-page.html +++ b/src/app/pages/tabs-page/tabs-page.html @@ -5,37 +5,37 @@ - + Speakers - + Map - + Schedule - + Now - + Scanner - + Scanner - + Login diff --git a/src/app/pages/tabs-page/tabs-page.scss b/src/app/pages/tabs-page/tabs-page.scss index 00b43a01..a4d09af6 100644 --- a/src/app/pages/tabs-page/tabs-page.scss +++ b/src/app/pages/tabs-page/tabs-page.scss @@ -1,3 +1,11 @@ +.pycon-tab-bar ion-tab-button.pycon-active { + --color: #DD04D2; + + ion-label { + font-weight: 700; + } +} + .bannerSponsorHidden { display: none; } diff --git a/src/app/pages/tabs-page/tabs-page.ts b/src/app/pages/tabs-page/tabs-page.ts index 735835b3..30f61903 100644 --- a/src/app/pages/tabs-page/tabs-page.ts +++ b/src/app/pages/tabs-page/tabs-page.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController } from '@ionic/angular'; -import { Router } from '@angular/router'; +import { NavigationEnd, Router } from '@angular/router'; +import { filter } from 'rxjs/operators'; import { ConferenceData } from '../../providers/conference-data'; import { UserData } from '../../providers/user-data'; @@ -16,6 +17,7 @@ export class TabsPage implements OnInit { hasDoorCheck: boolean = false; loggedIn: boolean = false; showStaffTools: boolean = false; + activeTab: string = ''; constructor( private userData: UserData, @@ -31,6 +33,18 @@ export class TabsPage implements OnInit { this.checkLoggedIn(); this.listenForLoginEvents(); setInterval(this.showSponsorBanner, 30000); + + this.activeTab = this.computeActiveTab(this.router.url); + this.router.events + .pipe(filter((e): e is NavigationEnd => e instanceof NavigationEnd)) + .subscribe(e => { + this.activeTab = this.computeActiveTab(e.urlAfterRedirects); + }); + } + + private computeActiveTab(url: string): string { + const match = url.match(/\/app\/tabs\/([^/?#]+)/); + return match ? match[1] : ''; } checkLoggedIn() {