();
- }
- _loading = false;
- }
-
- // Relative path — resolves against the Manager's own origin, proxied by ImageProxyController.
- private static string ThumbUrl(string entryKey) =>
- $"/api/image/{Uri.EscapeDataString(entryKey)}";
+ Release = release,
+ HeroImageEntryKey = release.SessionMetadata?.HeroImageEntryKey
+ };
private async Task UploadHeroAsync(SessionRow row, IBrowserFile? file)
{
@@ -169,7 +110,7 @@
}
}
- private sealed class SessionRow
+ public sealed class SessionRow
{
public required ReleaseDto Release { get; set; }
public string? HeroImageEntryKey { get; set; }
diff --git a/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor.css b/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor.css
index dcb8151..ed71232 100644
--- a/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor.css
+++ b/DeepDrftManager/Components/Pages/Tracks/CmsSessionBrowser.razor.css
@@ -1,6 +1,6 @@
-/* Scoped duplicate of the album-browser thumb idiom. Blazor CSS isolation is per-component, so the
- class defined in CmsAlbumBrowser.razor.css does not reach this component's markup — a small,
- intentional duplication rather than promoting a two-rule block to global app.css. */
+/* Hero-thumbnail idiom for the session row's action cell. The cover thumb lives in CmsMediumTable's
+ own scoped CSS; this scoped copy reaches only the hero rendered in this component's
+ ActionContent markup (Blazor CSS isolation is per-component). */
.cms-album-thumb {
width: 40px;
height: 40px;