@namespace DeepDrftPublic.Client.Controls @* Invariant trio shared by every medium's detail page: a back link, a masthead (title + artist), a play/share affordance row wired to the streaming player, and slots for the medium-specific hero visual and metadata block. TrackDetail and the Session/Mix detail pages all compose this; per-medium variance rides the Hero and MetaContent render fragments. *@
@* Back link top-left, optional medium action top-right, on one SpaceBetween row. The action slot stays null for media that don't supply it (Track/Session), so they render the back link alone. *@ ← @BackLabel @TopRightAction @TopContent
@Title @Artist
@* Play only makes sense once a playable track is resolved. *@ @if (Track is not null) { }
@Hero @if (MetaContent is not null && ShowMeta) {
@MetaContent
} @if (Track is not null) {
}