<a href class="context-menu-link" (click)="onContextMenu($event)" 
    [class.context-menu-link__status]="statusWrapper"
    [class.context-menu-link__profile]="displayedAccount"
    title="More">
    <fa-icon [icon]="faEllipsisH"></fa-icon>
</a>
<context-menu #contextMenu>
    <ng-template contextMenuItem (execute)="expandStatus()" *ngIf="statusWrapper">
        Expand status
    </ng-template>
    <ng-template contextMenuItem (execute)="copyStatusLink()" *ngIf="statusWrapper">
        Copy link to status
    </ng-template>
    <ng-template contextMenuItem (execute)="copyAllData()" *ngIf="statusWrapper">
        Copy all data
    </ng-template>
    <ng-template contextMenuItem divider="true" *ngIf="statusWrapper"></ng-template>
    <ng-template contextMenuItem (execute)="mentionAccount()" *ngIf="!isOwnerSelected">
        Mention @{{ this.username }}
    </ng-template>
    <ng-template contextMenuItem (execute)="dmAccount()" *ngIf="!isOwnerSelected">
        Direct message @{{ this.username }}
    </ng-template>
    <ng-template contextMenuItem (execute)="muteConversation()" *ngIf="statusWrapper && isOwnerSelected && !displayedStatus.muted">
        Mute conversation
    </ng-template>
    <ng-template contextMenuItem (execute)="unmuteConversation()" *ngIf="statusWrapper && isOwnerSelected && displayedStatus.muted">
        Unmute conversation
    </ng-template>
    <ng-template contextMenuItem divider="true"></ng-template>
    <ng-template contextMenuItem (execute)="muteAccount()" *ngIf="!isOwnerSelected">
        Mute @{{ this.username }}
    </ng-template>
    <ng-template contextMenuItem (execute)="blockAccount()" *ngIf="!isOwnerSelected">
        Block @{{ this.username }}
    </ng-template>
    <ng-template contextMenuItem (execute)="pinOnProfile()" *ngIf="statusWrapper && isOwnerSelected && !displayedStatus.pinned && displayedStatus.visibility === 'public'">
        Pin on profile
    </ng-template>
    <ng-template contextMenuItem (execute)="unpinFromProfile()" *ngIf="statusWrapper && isOwnerSelected && displayedStatus.pinned && displayedStatus.visibility === 'public'">
        Unpin from profile
    </ng-template>
    <ng-template contextMenuItem (execute)="delete(false)" *ngIf="statusWrapper && isOwnerSelected">
        Delete
    </ng-template>
    <ng-template contextMenuItem (execute)="delete(true)" *ngIf="statusWrapper && isOwnerSelected">
        Delete & re-draft
    </ng-template>
</context-menu>