unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1@if (item.visible()) {
2 @if (item.plainText) {
3 <div class="ml-3 pt-2 font-medium text-sm">{{ item.label | translate }}</div>
4 } @else if (item.divider) {
5 <hr class="m-0" />
6 } @else if (button) {
7 <a
8 [matMenuTriggerFor]="item.items ? menu : null"
9 [routerLink]="parsedLink()"
10 [matBadge]="item.badge && item.badge()"
11 [matBadgeHidden]="item.badge && item.badge() === 0"
12 matBadgePosition="above after"
13 mat-button
14 class="mat-circle-button"
15 (click)="doCommand()"
16 (keydown)="handleKey($event)"
17 [attr.data-menu-item]="item.label"
18 tabIndex="0"
19 >
20 @if (item.icon) {
21 <span class="menu-item-icon">
22 <fa-icon [icon]="item.icon"></fa-icon>
23 </span>
24 }
25 </a>
26
27 <mat-menu #menu="matMenu">
28 @for (elem of item.items; track $index) {
29 <app-menu-item [item]="elem"></app-menu-item>
30 }
31 </mat-menu>
32 } @else {
33 <a
34 [class.subroute-active]="routeChildActive()"
35 routerLinkActive="route-active"
36 [routerLinkActiveOptions]="{ exact: item.highlightRoute !== false }"
37 [matMenuTriggerFor]="item.items ? menu : null"
38 [matMenuTriggerRestoreFocus]="false"
39 #menuTrigger="matMenuTrigger"
40 [routerLink]="parsedLink()"
41 [matBadge]="item.badge && item.badge()"
42 [matBadgeHidden]="item.badge && item.badge() === 0"
43 matBadgePosition="above after"
44 mat-list-item
45 (click)="doCommand()"
46 (keydown)="handleKey($event, menuTrigger)"
47 [attr.data-menu-item]="item.label"
48 class="{{ item.class }}"
49 tabIndex="0"
50 >
51 <div class="flex align-items-center justify-content-start navigation-menu-button">
52 @if (item.icon) {
53 <span class="mr-3 menu-item-icon">
54 <fa-icon [icon]="item.icon" [fixedWidth]="true"></fa-icon>
55 </span>
56 }
57 @if (item.image !== undefined) {
58 <span class="mr-3 menu-item-image">
59 <img [src]="item.image" />
60 </span>
61 }
62 <span
63 class="mr-1 menu-item-content"
64 [innerHTML]="item.labelDynamic ? item.labelDynamic() : (item.label | translate)"
65 ></span>
66 @if (item.items) {
67 <span class="ml-auto menu-item-arrow" [class.menu-open]="expanded"
68 ><fa-icon [icon]="arrowIcon" size="xs"
69 /></span>
70 }
71 </div>
72 </a>
73
74 <mat-menu #menu="matMenu" (closed)="menuClose()">
75 @for (elem of item.items; track $index) {
76 <app-menu-item [item]="elem"></app-menu-item>
77 }
78 </mat-menu>
79 }
80}