diff --git a/DeepDrftPublic.Client/Controls/ReleaseDescription.razor b/DeepDrftPublic.Client/Controls/ReleaseDescription.razor new file mode 100644 index 0000000..ac7b704 --- /dev/null +++ b/DeepDrftPublic.Client/Controls/ReleaseDescription.razor @@ -0,0 +1,19 @@ +@namespace DeepDrftPublic.Client.Controls + +@* Shared presentational blurb block for release detail pages. Renders the release's short + Description paragraph in a uniform styled block placed just below the hero/header on every + medium (Session, Mix, Cut). Purely presentational — owns no data fetch and no player wiring. + A null/whitespace Description renders nothing at all: no block, no divider, no whitespace + artifact (the guard lives here so every consumer gets it for free). *@ + +@if (!string.IsNullOrWhiteSpace(Description)) +{ +
+

@Description

+
+} + +@code { + /// The release's short description blurb. Null/whitespace renders nothing. + [Parameter] public string? Description { get; set; } +} diff --git a/DeepDrftPublic.Client/Pages/CutDetail.razor b/DeepDrftPublic.Client/Pages/CutDetail.razor index 51bb7aa..7460da1 100644 --- a/DeepDrftPublic.Client/Pages/CutDetail.razor +++ b/DeepDrftPublic.Client/Pages/CutDetail.razor @@ -115,6 +115,8 @@ else + @* Blurb sits between the header and the track-list divider. *@ + @if (ViewModel.Tracks.Count == 0) { diff --git a/DeepDrftPublic.Client/Pages/MixDetail.razor b/DeepDrftPublic.Client/Pages/MixDetail.razor index acc6f1e..2c774b9 100644 --- a/DeepDrftPublic.Client/Pages/MixDetail.razor +++ b/DeepDrftPublic.Client/Pages/MixDetail.razor @@ -85,6 +85,10 @@ else + + @* Blurb sits below the hero, inside the scaffold's foreground stacking context. *@ + + diff --git a/DeepDrftPublic.Client/Pages/SessionDetail.razor b/DeepDrftPublic.Client/Pages/SessionDetail.razor index 77d3e10..eac0db3 100644 --- a/DeepDrftPublic.Client/Pages/SessionDetail.razor +++ b/DeepDrftPublic.Client/Pages/SessionDetail.razor @@ -83,6 +83,8 @@ else + + } diff --git a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css index 8ff76d0..6c53392 100644 --- a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css +++ b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css @@ -680,3 +680,23 @@ h2, h3, h4, h5, h6, margin: 0 auto; } } + +/* ============================================================================= + RELEASE DESCRIPTION BLURB + Shared block rendered just below the hero/header on every release detail page + (Session, Mix, Cut). Theme-driven colours keep it legible in both palettes. + ============================================================================= */ + +.deepdrft-release-description { + margin: 1.5rem 0; +} + +.deepdrft-release-description-text { + margin: 0; + max-width: 60ch; + font-family: var(--deepdrft-font-body); + font-size: 1.05rem; + line-height: 1.7; + color: var(--mud-palette-text-primary); + opacity: 0.85; +}