mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
Merge main into PR #1386
This commit is contained in:
commit
3cd795527c
4 files changed
+10
-1
No files matched your search
@@ -0,0 +1,3 @@
|
|||||||
|
- Show a route leg of 59.5 seconds or more as 1 min. The route summary and step
|
||||||
|
cards kept seconds below 60, then rounded 59.6 s up to "60 s"
|
||||||
|
(Rudy Celekli, @rudycelekli, #1385).
|
||||||
@@ -4137,6 +4137,9 @@ and as the last line of the list, because the arrival step is among the ones
|
|||||||
dropped. A route of exactly 200 is complete, and a roundabout exit after the
|
dropped. A route of exactly 200 is complete, and a roundabout exit after the
|
||||||
200th keeps folding into it.
|
200th keeps folding into it.
|
||||||
|
|
||||||
|
Route duration labels select their unit after rounding seconds, switching to
|
||||||
|
minutes at 59.5 seconds; a 59.6-second leg displays as `1 min`, rather than `60 s`.
|
||||||
|
|
||||||
A step's card opens from its dot on the globe or from its line in the list, and
|
A step's card opens from its dot on the globe or from its line in the list, and
|
||||||
the list covers every step including departure and arrival, which have no dot.
|
the list covers every step including departure and arrival, which have no dot.
|
||||||
What a card needs is a resolved ground anchor: a step whose ground cell has not
|
What a card needs is a resolved ground anchor: a step whose ground cell has not
|
||||||
|
|||||||
@@ -851,6 +851,8 @@ test('route numbers follow the page language and never break from their unit', (
|
|||||||
assert.equal(routeDistanceText(1500), '1.5\u00a0km');
|
assert.equal(routeDistanceText(1500), '1.5\u00a0km');
|
||||||
assert.equal(routeDistanceText(2_345_000), '2345\u00a0km');
|
assert.equal(routeDistanceText(2_345_000), '2345\u00a0km');
|
||||||
assert.equal(routeDurationText(39), '39\u00a0s');
|
assert.equal(routeDurationText(39), '39\u00a0s');
|
||||||
|
assert.equal(routeDurationText(59.4), '59\u00a0s');
|
||||||
|
assert.equal(routeDurationText(59.6), '1\u00a0min');
|
||||||
assert.equal(routeDurationText(3900), '1\u00a0h\u00a05\u00a0min');
|
assert.equal(routeDurationText(3900), '1\u00a0h\u00a05\u00a0min');
|
||||||
assert.equal(routeDurationText(7200), '2\u00a0h');
|
assert.equal(routeDurationText(7200), '2\u00a0h');
|
||||||
assert.equal(routeDistanceText(-1), '');
|
assert.equal(routeDistanceText(-1), '');
|
||||||
|
|||||||
@@ -131,7 +131,8 @@ export function routeDistanceText(meters) {
|
|||||||
*/
|
*/
|
||||||
export function routeDurationText(seconds) {
|
export function routeDurationText(seconds) {
|
||||||
if (!Number.isFinite(seconds) || seconds < 0) return '';
|
if (!Number.isFinite(seconds) || seconds < 0) return '';
|
||||||
if (seconds < 60) return formatQuantity(Math.round(seconds), 's');
|
const wholeSeconds = Math.round(seconds);
|
||||||
|
if (wholeSeconds < 60) return formatQuantity(wholeSeconds, 's');
|
||||||
const minutes = Math.round(seconds / 60);
|
const minutes = Math.round(seconds / 60);
|
||||||
if (minutes < 60) return formatQuantity(minutes, 'min');
|
if (minutes < 60) return formatQuantity(minutes, 'min');
|
||||||
const hours = formatQuantity(Math.floor(minutes / 60), 'h');
|
const hours = formatQuantity(Math.floor(minutes / 60), 'h');
|
||||||
|
|||||||
Reference in new issue
Block a user