Skip to content

Commit 430f74a

Browse files
committed
Enhance mobile menu with badge support for notifications and refactor button structure for improved styling
1 parent a1d6570 commit 430f74a

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

src/app/shared/mobile-menu/mobile-menu.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,26 @@
1414
mat-button
1515
class="mobile-nav-button"
1616
[routerLink]="['/people']">
17-
<div style="display: flex; flex-direction: column; align-items: center;">
17+
<div class="mobile-nav-button-content">
1818
<mat-icon>people</mat-icon>
1919
<span>{{ 'App.People' | translate }}</span>
2020
</div>
2121
</button>
22+
2223
<button
2324
mat-button
2425
class="mobile-nav-button"
2526
[routerLink]="['/notifications']">
26-
<div style="display: flex; flex-direction: column; align-items: center;">
27-
<mat-icon>notifications</mat-icon>
27+
<div class="mobile-nav-button-content">
28+
<mat-icon aria-hidden="false" [matBadgeHidden]="(ui.unreadNotifications$ | async) == 0" [matBadge]="ui.unreadNotifications$ | async">notifications</mat-icon>
2829
<span>{{ 'App.Notifications' | translate }}</span>
2930
</div>
3031
</button>
3132
<button
3233
mat-button
3334
class="mobile-nav-button"
3435
[routerLink]="['/p', appState.getPublicKey()]">
35-
<div style="display: flex; flex-direction: column; align-items: center;">
36+
<div class="mobile-nav-button-content">
3637
<mat-icon>person</mat-icon>
3738
<span>{{ 'App.Profile' | translate }}</span>
3839
</div>

src/app/shared/mobile-menu/mobile-menu.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,20 @@ import { RouterModule } from '@angular/router';
88
import { MatToolbarModule } from '@angular/material/toolbar';
99
import { TranslateModule } from '@ngx-translate/core';
1010
import { ApplicationState } from 'src/app/services/applicationstate';
11+
import { MatBadgeModule } from '@angular/material/badge';
12+
import { UIService } from 'src/app/services/ui';
1113

1214
@Component({
1315
selector: 'app-mobile-menu',
1416
templateUrl: './mobile-menu.html',
1517
styleUrls: ['./mobile-menu.css'],
16-
imports: [MatToolbarModule, TranslateModule, RouterModule, MatButtonModule, MatIconModule, CommonModule, MatSliderModule, FormsModule],
18+
imports: [MatToolbarModule, MatBadgeModule, TranslateModule, RouterModule, MatButtonModule, MatIconModule, CommonModule, MatSliderModule, FormsModule],
1719
})
1820
export class MobileMenuComponent {
1921
@Input() miniplayer = false;
2022

2123
appState = inject(ApplicationState);
24+
ui = inject(UIService);
2225

2326
constructor() {}
2427

0 commit comments

Comments
 (0)