|
|
@@ -84,7 +84,7 @@
|
|
|
|
|
|
</div>
|
|
|
|
|
|
-<div class="riff-list-container">
|
|
|
+<div class="riff-list-container" *ngIf="selectedSong?.riffs && selectedSong.riffs.length > 0; else noRiffsMessage">
|
|
|
<mat-card class="riff-list-card">
|
|
|
|
|
|
<mat-card-header>
|
|
|
@@ -92,17 +92,30 @@
|
|
|
</mat-card-header>
|
|
|
|
|
|
<mat-card-content>
|
|
|
- <div class="riff-list">
|
|
|
- <mat-list>
|
|
|
- <mat-list-item *ngFor="let riff of selectedSong?.riffs">
|
|
|
- <span mat-line>{{ riff.name }}</span>
|
|
|
- <span mat-line class="riff-details">
|
|
|
- Start: {{ riff.startMs }} ms | End: {{ riff.endMs }} ms
|
|
|
- </span>
|
|
|
- </mat-list-item>
|
|
|
- </mat-list>
|
|
|
- </div>
|
|
|
+ <table mat-table [dataSource]="selectedSong?.riffs || []">
|
|
|
+
|
|
|
+ <ng-container matColumnDef="name">
|
|
|
+ <th mat-header-cell *matHeaderCellDef>Riff Name</th>
|
|
|
+ <td mat-cell *matCellDef="let riff">{{ riff.name }}</td>
|
|
|
+ </ng-container>
|
|
|
+
|
|
|
+ <ng-container matColumnDef="startMs">
|
|
|
+ <th mat-header-cell *matHeaderCellDef>Start (ms)</th>
|
|
|
+ <td mat-cell *matCellDef="let riff">{{ riff.startMs }}</td>
|
|
|
+ </ng-container>
|
|
|
+
|
|
|
+ <ng-container matColumnDef="endMs">
|
|
|
+ <th mat-header-cell *matHeaderCellDef>End (ms)</th>
|
|
|
+ <td mat-cell *matCellDef="let riff">{{ riff.endMs }}</td>
|
|
|
+ </ng-container>
|
|
|
+
|
|
|
+ <tr mat-header-row *matHeaderRowDef="['name', 'startMs', 'endMs']"></tr>
|
|
|
+ <tr mat-row *matRowDef="let row; columns: ['name', 'startMs', 'endMs']"></tr>
|
|
|
+ </table>
|
|
|
</mat-card-content>
|
|
|
|
|
|
</mat-card>
|
|
|
</div>
|
|
|
+<ng-template #noRiffsMessage>
|
|
|
+ <p>No riffs found for this song.</p>
|
|
|
+</ng-template>
|