browser: round *.0 versions in single cells
[sheet.git] / browser.plp
index 8ff9886f483331f52054a8ff4e325c7b03df3180..1073e4945a54f4caec8e2d23d887c4b7b028b26e 100644 (file)
@@ -237,16 +237,16 @@ print '<thead>', $header;
 print "\n<tr>";
 for my $browser (@browsers) {
        for (@{ $versions{$browser} }) {
-               my $lastver = $_->[-1];
-               my $release = $caniuse->{agents}->{$browser}->{verrelease}->{$lastver};
-               my $future = defined $release;
+               my $lastver = first {
+                       !defined $caniuse->{agents}->{$browser}->{verrelease}->{$_} # stable
+               } reverse @{$_};
                printf('<td title="%s"%s>%s',
                        join(' ',
                                sprintf('%.1f%%', sum(@{ $canihas->{$browser} }{@$_}) * $usagepct),
                                'version ' . showversions(@{$_}, undef),
-                               $future ? '(development)' : (),
+                               $_->[-1] eq $lastver ? () : '(development)',
                        ),
-                       $future && ' class="ex"',
+                       !defined $lastver && ' class="ex"',
                        showversions($lastver),
                );
        }
@@ -459,11 +459,7 @@ sub paddedver {
 sub showversions {
        # title to describe minumum version and optional maximum for multiple cells
        my @span = (map { split /-/ } grep { defined } @_);
-       for (@span) {
-               s/^\./0./;
-               s/x$/.*/;
-       }
-       return $span[0] if @_ <= 1;
+       return $span[0] =~ s/\.0\z//r if @_ <= 1;
        splice @span, 1, -1;
        return join('‒', @span);
 }