stackage-server/templates/stackage-diff.hamlet
Andrei Dziahel b89c4195ef Improve the snapshot diff view
Replaced "package-name-1.2.3.4 package-2.3.4.5" representation with
"package-name 1.2.3.4 → 2.3.4.5", since package name is always the same.
2019-12-10 17:30:27 +03:00

68 lines
2.9 KiB
Plaintext

<h1>Compare Stackage snapshots
<div .container .content>
<div .packages>
<table .table>
<thead>
<th>
<select .form-control onchange="document.location = this.value">
<optgroup label="LTS">
$forall name1' <- ltsSnaps
$if name1' == name1
<option selected value=@{StackageDiffR name1' name2}>#{toPathPiece name1'}
$else
<option value=@{StackageDiffR name1' name2}>#{toPathPiece name1'}
<optgroup label="Nightly">
$forall name1' <- nightlySnaps
$if name1' == name1
<option selected value=@{StackageDiffR name1' name2}>#{toPathPiece name1'}
$else
<option value=@{StackageDiffR name1' name2}>#{toPathPiece name1'}
<th>
<select .form-control onchange="document.location = this.value">
<optgroup label="LTS">
$forall name2' <- ltsSnaps
$if name2' == name2
<option selected value=@{StackageDiffR name1 name2'}>#{toPathPiece name2'}
$else
<option value=@{StackageDiffR name1 name2'}>#{toPathPiece name2'}
<optgroup label="Nightly">
$forall name2' <- nightlySnaps
$if name2' == name2
<option selected value=@{StackageDiffR name1 name2'}>#{toPathPiece name2'}
$else
<option value=@{StackageDiffR name1 name2'}>#{toPathPiece 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}