stackage-server/templates/stackage-diff.hamlet
Jens Petersen c4c8241fc3 stackage-diff: add a previous diff link
allowing navigating back to earlier consecutive diffs

Arguably we could also navigate name1 and name2 separately

Thanks to @chreekat for reviewing and improving the code (#340)
2025-02-03 23:39:45 +08:00

48 lines
1.7 KiB
Plaintext

<h1>Compare Stackage snapshots
$maybe prevprev <- mprevprevSnapName
<div .snapshot-nav>
<a href=@{StackageDiffR prevprev name1}>
\< previous diff
<div .container .content>
<div .packages>
<table .table>
<thead>
<tr>
<th>#{name1}
<th>#{name2}
<tbody>
$forall (pkgname, VersionChange verChange, versionDiff) <- toVersionedDiffList snapDiff
<tr>
$case verChange
$of This oldVersion
<td> #{pkgname}
<td>
<a href=@{packageUrl name1 pkgname oldVersion}#changes>
<span .version-removed>#{oldVersion}
$of That newVersion
<td> #{pkgname}
<td>
<a href=@{packageUrl name2 pkgname newVersion}#changes>
<span .version-added>#{newVersion}
$of These oldVersion newVersion
$maybe (common, old, new) <- versionDiff
<td> #{pkgname}
<td>
<a href=@{packageUrl name1 pkgname oldVersion}#changes>
#{common}#
<span .version-removed>#{old}
&rarr;
<a href=@{packageUrl name2 pkgname newVersion}#changes>
#{common}#
<span .version-added>#{new}
$nothing
<td> #{pkgname}
<td>
<a href=@{packageUrl name1 pkgname oldVersion}#changes>
<span .version-removed>#{oldVersion}
&rarr;
<a href=@{packageUrl name2 pkgname newVersion}#changes>
<span .version-added>#{newVersion}