diff --git a/DeepDrftPublic.Client/Common/ReleaseRoutes.cs b/DeepDrftPublic.Client/Common/ReleaseRoutes.cs
index 7ed08b0..582204b 100644
--- a/DeepDrftPublic.Client/Common/ReleaseRoutes.cs
+++ b/DeepDrftPublic.Client/Common/ReleaseRoutes.cs
@@ -5,11 +5,11 @@ namespace DeepDrftPublic.Client.Common;
///
/// The single source of truth for a release's dedicated detail route (Phase 11 §2). A release
-/// resolves to its per-medium detail page purely from its id and — no
-/// round-trip needed at call sites that already hold the medium (Archive cards, AlbumsView cards,
-/// the player-bar title). The thin /tracks/{id} redirect page fetches by id to discover the
-/// medium, then resolves through this same helper, so the medium→route table lives in exactly one
-/// place.
+/// resolves to its per-medium detail page from its and
+/// — no round-trip needed at call sites that already hold the medium
+/// (Archive cards, AlbumsView cards, the player-bar title). The thin /tracks/{entryKey}
+/// redirect page fetches by EntryKey to discover the medium, then resolves through this same
+/// helper, so the medium→route table lives in exactly one place.
///
public static class ReleaseRoutes
{
diff --git a/DeepDrftPublic.Client/Controls/ReleaseGallery.razor b/DeepDrftPublic.Client/Controls/ReleaseGallery.razor
index 47ec7d9..22ca0a6 100644
--- a/DeepDrftPublic.Client/Controls/ReleaseGallery.razor
+++ b/DeepDrftPublic.Client/Controls/ReleaseGallery.razor
@@ -3,7 +3,7 @@
@* The single release-card grid for every browse surface (Sessions, Mixes, Cuts, Archive). Cards
open a detail page; how a card computes its href is the only real divergence across surfaces, so
the parent supplies it one of two ways:
- - DetailRoute (the simple default): every card links /{DetailRoute}/{id} (Sessions, Mixes).
+ - DetailRoute (the simple default): every card links /{DetailRoute}/{entryKey} (Sessions, Mixes).
- HrefResolver (per-card): each card links HrefResolver(release), so Archive routes each card by
its own medium through the one ReleaseRoutes table, and Cuts routes to /cuts/{entryKey}.
HrefResolver wins when both are supplied. The card subtitle defaults to the artist; SubtitleResolver
@@ -74,7 +74,7 @@
[Parameter] public bool Loading { get; set; }
///
- /// Route segment for a card's detail page; a card links to /{DetailRoute}/{id}. The simple
+ /// Route segment for a card's detail page; a card links to /{DetailRoute}/{entryKey}. The simple
/// fixed-route default used by Sessions/Mixes. Ignored when is supplied.
///
[Parameter] public string? DetailRoute { get; set; }
diff --git a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css
index f27154a..5767715 100644
--- a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css
+++ b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css
@@ -375,15 +375,6 @@ h2, h3, h4, h5, h6,
word-break: break-all;
}
-/* display:contents so the anchor wraps the card's cover and title without
- introducing its own box — the container's positioning context and the
- content column's flex layout are both preserved. */
-.deepdrft-track-card-link {
- display: contents;
- text-decoration: none;
- color: inherit;
-}
-
@media (max-width: 419.98px) {
.deepdrft-track-detail-meta {
flex-direction: column;
diff --git a/DeepDrftTests/MediumWritePathTests.cs b/DeepDrftTests/MediumWritePathTests.cs
index e672d94..6fd3ffd 100644
--- a/DeepDrftTests/MediumWritePathTests.cs
+++ b/DeepDrftTests/MediumWritePathTests.cs
@@ -122,7 +122,7 @@ public class MediumWritePathTests
var release = new ReleaseEntity
{
- EntryKey = "rk-flip", Title = "Originally a Cut", Artist = "Artist A",
+ EntryKey = Guid.NewGuid().ToString("N"), Title = "Originally a Cut", Artist = "Artist A",
Medium = ReleaseMedium.Cut, ReleaseType = ReleaseType.EP,
};
var track = new TrackEntity { EntryKey = "ek-1", TrackName = "Track", Release = release };
@@ -151,7 +151,7 @@ public class MediumWritePathTests
{
var sessionWithStaleType = new ReleaseEntity
{
- EntryKey = "rk-stale", Title = "Session", Artist = "A",
+ EntryKey = Guid.NewGuid().ToString("N"), Title = "Session", Artist = "A",
Medium = ReleaseMedium.Session, ReleaseType = ReleaseType.Album,
};