refactor(css): consolidate track-view layout and card text color rules; switch genre chip to Outlined variant

This commit is contained in:
daniel-c-harvey
2026-06-05 16:58:07 -04:00
parent 9854d51940
commit b3473aa37e
5 changed files with 23 additions and 25 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<PageTitle>DeepDrft Track Gallery</PageTitle> <PageTitle>DeepDrft Track Gallery</PageTitle>
<div class="tracks-page-wrapper"> <div>
<div class="tracks-view-container"> <div class="tracks-view-container">
@if (ViewModel.Page != null) @if (ViewModel.Page != null)
{ {
@@ -1,26 +1,20 @@
.tracks-page-wrapper { /* Layout for the tracks page.
display: flex; Dead flex/height rules removed — the sticky-footer intent they encoded required
flex-direction: column; a height target that was never set; normal block flow is sufficient for a
} paginated gallery. Horizontal inset is owned by MudContainer in TracksGallery. */
.tracks-view-container { .tracks-view-container {
display: flex; padding: 0;
flex-direction: column;
flex: 1;
padding: 0 16px; /* Horizontal padding only */
} }
.tracks-content { .tracks-content {
display: flex;
flex-grow: 1;
padding-top: 16px; padding-top: 16px;
} }
.tracks-footer { .tracks-footer {
flex: 0 0;
padding: 8px 0; padding: 8px 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 16px; gap: 16px;
} }
@@ -211,8 +211,8 @@ body, p, span, div,
8. TRACK CARDS 8. TRACK CARDS
============================================================================= */ ============================================================================= */
/* Container — transparent so no background competes /* Container — transparent so the absolute-positioned fallback panel or album art
with the absolute-positioned fallback panel or album art. */ controls the card's background. No MudBlazor surface component background to fight. */
.deepdrft-track-card-container { .deepdrft-track-card-container {
width: 250px; width: 250px;
height: 250px; height: 250px;
@@ -281,14 +281,20 @@ body, p, span, div,
border: 1px solid var(--deepdrft-border); border: 1px solid var(--deepdrft-border);
} }
/* Card text — unconditional dark defaults (glass-language colors). /* Card text — theme-neutral base for the WASM hydration window (no wrapper class yet).
These fire even if the theme wrapper class is absent during WASM hydration, Inherits body text so no jarring flash in either theme direction. */
preventing a "blue text" flash. Light-mode overrides below correct legibility. */ .deepdrft-track-title,
.deepdrft-track-title { color: var(--deepdrft-white, #FAFAF8); } .deepdrft-track-artist,
.deepdrft-track-artist { color: var(--deepdrft-green-accent, #3D7A68); } .deepdrft-track-meta { color: inherit; }
.deepdrft-track-meta { color: rgba(250, 250, 248, 0.55); }
/* Light-mode text overrides — legible on the near-white light fallback */ /* Dark theme text — wins on specificity (0,2,0), not load order.
Title: off-white. Artist: muted off-white (hierarchy above meta, below title).
Meta: more muted. Green is reserved for the FAB (action) and chip border (tag only). */
.deepdrft-theme-dark .deepdrft-track-title { color: var(--deepdrft-white, #FAFAF8); }
.deepdrft-theme-dark .deepdrft-track-artist { color: rgba(250, 250, 248, 0.65); }
.deepdrft-theme-dark .deepdrft-track-meta { color: rgba(250, 250, 248, 0.45); }
/* Light theme text — wins on specificity (0,2,0) */
.deepdrft-theme-light .deepdrft-track-title { color: var(--deepdrft-navy, #0D1B2A); } .deepdrft-theme-light .deepdrft-track-title { color: var(--deepdrft-navy, #0D1B2A); }
.deepdrft-theme-light .deepdrft-track-artist { color: var(--deepdrft-green, #1A3C34); } .deepdrft-theme-light .deepdrft-track-artist { color: var(--deepdrft-green, #1A3C34); }
.deepdrft-theme-light .deepdrft-track-meta { color: var(--deepdrft-muted, #8A9BB0); } .deepdrft-theme-light .deepdrft-track-meta { color: var(--deepdrft-muted, #8A9BB0); }
@@ -37,7 +37,7 @@
{ {
<MudChip T="string" <MudChip T="string"
Size="Size.Small" Size="Size.Small"
Variant="Variant.Filled" Variant="Variant.Outlined"
Color="Color.Primary" Color="Color.Primary"
Class="deepdrft-genre-chip"> Class="deepdrft-genre-chip">
@TrackModel.Genre @TrackModel.Genre
@@ -1,5 +1,3 @@
.tracks-gallery-container { .tracks-gallery-container {
padding: 16px;
height: 100%;
box-sizing: border-box; box-sizing: border-box;
} }