unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 80 lines 2.6 kB view raw
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}