diff options
author | Profpatsch <mail@profpatsch.de> | 2024-05-14T18·42+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-06-03T14·55+0000 |
commit | c1598cd2d2e625167dfda6e5ad5f4229f32fa1ea (patch) | |
tree | bdeb8374a3773272f2a2cecc64fdccc72ef287ed /users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs | |
parent | 7197d28098bb0b29d4842216ba571c3bd2ade5cb (diff) |
feat(users/Profpatsch/whatcd-resolver): display all artists r/8195
apparently the `torrent_group` json only contains one artist, while the torrent itself contains a list of them. This is important, because we need the artist id and the `torrent_group` does not provide it, only the torrent one. Change-Id: I3db45f454f14e89ea8c8dafba2065ecd55f5bcda Reviewed-on: https://cl.tvl.fyi/c/depot/+/11670 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
Diffstat (limited to 'users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs')
-rw-r--r-- | users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs index dc7929144ac5..e3cf8aa8ba77 100644 --- a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs +++ b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs @@ -496,15 +496,21 @@ getBestTorrentsTable = do fresh & foldMap ( \b -> do - let artistLink :: Text = [fmt|/artist?db_id={b.groupId}|] + let artists = + b.artists + <&> ( \a -> + T2 + (label @"url" [fmt|/artist?db_id={a.artistId}|]) + (label @"content" $ Html.toHtml @Text a.artistName) + ) + & mkLinkList + [hsx| <tr> <td>{localTorrent b}</td> <td>{Html.toHtml @Int b.groupId}</td> <td> - <a href={artistLink}> - {Html.toHtml @Text b.torrentGroupJson.artist} - </a> + {artists} </td> <td>{Html.toHtml @Text b.torrentGroupJson.groupName}</td> <td>{Html.toHtml @Int b.seedingWeight}</td> @@ -532,6 +538,15 @@ getBestTorrentsTable = do </table> |] +mkLinkList :: [T2 "url" Text "content" Html] -> Html +mkLinkList xs = + xs + <&> ( \x -> do + [hsx|<a href={x.url}>{x.content}</a>|] + ) + & List.intersperse ", " + & mconcat + getTransmissionTorrentsTable :: (MonadTransmission m, MonadThrow m, MonadLogger m, MonadOtel m) => m Html getTransmissionTorrentsTable = do |