Files
deepdrft/DeepDrftPublic.Client/Controls/AudioPlayerBar/TrackMetaLabel.razor
T

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>
}