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>
}
<!-- More Actions Menu -->
<button
mat-icon-button
[matMenuTriggerFor]="actionsMenu"
matTooltip="More Actions"
[disabled]="loading"
>
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #actionsMenu="matMenu">
<button mat-menu-item (click)="shareRecordingLink(recording)">
<mat-icon>share</mat-icon>
<span>Share link</span>
@if (isRecordingFailed(recording)) {
<button
class="delete-action"
mat-icon-button
matTooltip="Delete Recording"
(click)="deleteRecording(recording)"
[disabled]="loading"
>
<mat-icon>delete</mat-icon>
</button>
} @else {
<!-- More Actions Menu -->
<button
mat-icon-button
[matMenuTriggerFor]="actionsMenu"
matTooltip="More Actions"
[disabled]="loading"
>
<mat-icon>more_vert</mat-icon>
</button>
@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>
<mat-menu #actionsMenu="matMenu">
<button mat-menu-item (click)="shareRecordingLink(recording)">
<mat-icon>share</mat-icon>
<span>Share link</span>
</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>
</td>
</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);
}
isRecordingFailed(recording: MeetRecordingInfo): boolean {
return this.isStatusInGroup(recording.status, this.STATUS_GROUPS.ERROR);
}
// ===== UI HELPER METHODS =====
getStatusIcon(status: MeetRecordingStatus): string {