]> Sergey Matveev's repositories - public-inbox.git/commitdiff
view: conditionally anchor to thread skeleton
authorEric Wong <e@80x24.org>
Sun, 10 Jul 2016 01:24:08 +0000 (01:24 +0000)
committerEric Wong <e@80x24.org>
Sun, 10 Jul 2016 01:24:29 +0000 (01:24 +0000)
We only care about the thread skeleton if we have
multiple messages in a thread, single message threads
can just go to the top of the message.

lib/PublicInbox/View.pm

index 3d6348c71850e308b95ad61f275dbc9c37cc757b..49068641cf17f7a0aae9c5e39f800fb505530852 100644 (file)
@@ -905,11 +905,18 @@ sub dump_topics {
 
                # $n isn't the total number of posts on the topic,
                # just the number of posts in the current results window
-               $n = $n == 1 ? '' : " ($n+ messages)";
+               my $anchor;
+               if ($n == 1) {
+                       $n = '';
+                       $anchor = '#u'; # top of only message
+               } else {
+                       $n = " ($n+ messages)";
+                       $anchor = '#t'; # thread skeleton
+               }
 
                my $mbox = qq(<a\nhref="$href/t.mbox.gz">mbox.gz</a>);
                my $atom = qq(<a\nhref="$href/t.atom">Atom</a>);
-               my $s = "<a\nhref=\"$href/T/#t\"><b>$top</b></a>\n" .
+               my $s = "<a\nhref=\"$href/T/$anchor\"><b>$top</b></a>\n" .
                        " $ts UTC $n - $mbox / $atom\n";
                for (my $i = 0; $i < scalar(@ex); $i += 2) {
                        my $level = $ex[$i];