65 lines
2.5 KiB
Plaintext
65 lines
2.5 KiB
Plaintext
@namespace DeepDrftPublic.Client.Controls.AudioPlayerBar
|
|
|
|
|
|
|
|
@if (Track is not null)
|
|
{
|
|
<div class="track-meta-row">
|
|
<div class="track-meta-identity">
|
|
@* Title links to the release's dedicated detail page via the shared resolver (§2): the
|
|
TrackDto already carries Release { Id, Medium }, so no round-trip is needed. When no
|
|
release is attached there is no medium to resolve, so the title renders unlinked.
|
|
When Fixed (embedded iframe), the link opens in a new tab so the iframe keeps playing. *@
|
|
@if (Track.Release is not null)
|
|
{
|
|
@if (Fixed)
|
|
{
|
|
<a href="@ReleaseRoutes.DetailHref(Track.Release)" target="_blank" rel="noopener noreferrer" style="text-decoration: none;">
|
|
<MudText Typo="Typo.subtitle2" Class="track-meta-title text-truncate">
|
|
@Track.TrackName
|
|
</MudText>
|
|
</a>
|
|
}
|
|
else
|
|
{
|
|
<a href="@ReleaseRoutes.DetailHref(Track.Release)" style="text-decoration: none;">
|
|
<MudText Typo="Typo.subtitle2" Class="track-meta-title text-truncate">
|
|
@Track.TrackName
|
|
</MudText>
|
|
</a>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<MudText Typo="Typo.subtitle2" Class="track-meta-title text-truncate">
|
|
@Track.TrackName
|
|
</MudText>
|
|
}
|
|
<MudText Typo="Typo.subtitle2" Class="track-meta-sep"> - </MudText>
|
|
<MudText Typo="Typo.caption" Class="track-meta-artist text-truncate">
|
|
@Track.Release?.Artist
|
|
</MudText>
|
|
</div>
|
|
|
|
<div class="track-meta-accents">
|
|
@if (!string.IsNullOrEmpty(Track.Release?.Genre))
|
|
{
|
|
<MudChip T="string"
|
|
Size="Size.Small"
|
|
Variant="Variant.Outlined"
|
|
Color="Color.Tertiary"
|
|
Class="deepdrft-genre-chip">
|
|
@Track.Release.Genre
|
|
</MudChip>
|
|
}
|
|
|
|
@if (Track.Release?.ReleaseDate.HasValue == true)
|
|
{
|
|
<MudText Typo="Typo.caption" Class="track-meta-year">
|
|
@Track.Release.ReleaseDate.Value.Year
|
|
</MudText>
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|