summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2022-05-30 07:13:44 +0200
committerYorhel <git@yorhel.nl>2022-05-30 07:13:46 +0200
commit071ae499b45ac670571646793054ab4b55d6b79c (patch)
treead3c027a2dd2e4b14de5330819c3fed49819d6b1
parentf12ed769a92dc55c7e54e682528f99bdd1ce14ff (diff)
(Hopefully) better ordering of same-day releases
Fixes https://vndb.org/t950.1254
-rw-r--r--lib/VNWeb/Releases/List.pm2
-rw-r--r--lib/VNWeb/VN/Page.pm7
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/VNWeb/Releases/List.pm b/lib/VNWeb/Releases/List.pm
index a55a7a88..178fd220 100644
--- a/lib/VNWeb/Releases/List.pm
+++ b/lib/VNWeb/Releases/List.pm
@@ -67,7 +67,7 @@ TUWF::get qr{/r}, sub {
ORDER BY', sprintf {
title => 'r.title %s, r.released %1$s',
minage => 'r.minage %s, r.title %1$s, r.released %1$s',
- released => 'r.released %s, r.id %1$s',
+ released => 'r.released %s, r.title %1$s, r.id %1$s',
}->{$opt->{s}}, $opt->{o} eq 'a' ? 'ASC' : 'DESC'
) : [];
} || (($count, $list) = (undef, []));
diff --git a/lib/VNWeb/VN/Page.pm b/lib/VNWeb/VN/Page.pm
index b77c4d05..6ace81b1 100644
--- a/lib/VNWeb/VN/Page.pm
+++ b/lib/VNWeb/VN/Page.pm
@@ -497,7 +497,12 @@ sub releases_ {
# TODO: Organize a long list of releases a bit better somehow? Collapsable language sections?
enrich_release $v->{releases};
- $v->{releases} = [ sort { $a->{released} <=> $b->{released} || idcmp($a->{id}, $b->{id}) } $v->{releases}->@* ];
+ $v->{releases} = [ sort {
+ $a->{released} <=> $b->{released} ||
+ ($a->{platforms}[0]||'') cmp ($b->{platforms}[0]) ||
+ $a->{title} cmp $b->{title} ||
+ idcmp($a->{id}, $b->{id})
+ } $v->{releases}->@* ];
my(%lang, %langrel, %langmtl);
for my $r ($v->{releases}->@*) {