frontend: add delete action for failed recordings in recording lists component

This commit is contained in:
Carlos Santos 2025-07-16 11:07:04 +02:00
parent a499fe4cd4
commit 169b8c203a
2 changed files with 37 additions and 21 deletions

View File

@ -195,30 +195,42 @@
</button> </button>
} }
<!-- More Actions Menu --> @if (isRecordingFailed(recording)) {
<button <button
mat-icon-button class="delete-action"
[matMenuTriggerFor]="actionsMenu" mat-icon-button
matTooltip="More Actions" matTooltip="Delete Recording"
[disabled]="loading" (click)="deleteRecording(recording)"
> [disabled]="loading"
<mat-icon>more_vert</mat-icon> >
</button> <mat-icon>delete</mat-icon>
</button>
<mat-menu #actionsMenu="matMenu"> } @else {
<button mat-menu-item (click)="shareRecordingLink(recording)"> <!-- More Actions Menu -->
<mat-icon>share</mat-icon> <button
<span>Share link</span> mat-icon-button
[matMenuTriggerFor]="actionsMenu"
matTooltip="More Actions"
[disabled]="loading"
>
<mat-icon>more_vert</mat-icon>
</button> </button>
@if (canDeleteRecording(recording)) { <mat-menu #actionsMenu="matMenu">
<mat-divider></mat-divider> <button mat-menu-item (click)="shareRecordingLink(recording)">
<button mat-menu-item (click)="deleteRecording(recording)" class="delete-action"> <mat-icon>share</mat-icon>
<mat-icon>delete</mat-icon> <span>Share link</span>
<span>Delete recording</span>
</button> </button>
}
</mat-menu> @if (canDeleteRecording(recording)) {
<mat-divider></mat-divider>
<button mat-menu-item (click)="deleteRecording(recording)" class="delete-action">
<mat-icon>delete</mat-icon>
<span>Delete recording</span>
</button>
}
</mat-menu>
}
</div> </div>
</td> </td>
</ng-container> </ng-container>

View File

@ -310,6 +310,10 @@ export class RecordingListsComponent implements OnInit, OnChanges {
return this.canDeleteRecordings && this.isStatusInGroup(recording.status, this.STATUS_GROUPS.SELECTABLE); return this.canDeleteRecordings && this.isStatusInGroup(recording.status, this.STATUS_GROUPS.SELECTABLE);
} }
isRecordingFailed(recording: MeetRecordingInfo): boolean {
return this.isStatusInGroup(recording.status, this.STATUS_GROUPS.ERROR);
}
// ===== UI HELPER METHODS ===== // ===== UI HELPER METHODS =====
getStatusIcon(status: MeetRecordingStatus): string { getStatusIcon(status: MeetRecordingStatus): string {