Merge pull request '(fix): leaderboard time' (#35) from dev into main
Reviewed-on: alekswilc/simrail-logs#35 Reviewed-by: Aleksander Wilczyński <aleks@alekswilc.dev>
This commit is contained in:
commit
12ebea50e7
@ -4,6 +4,6 @@
|
|||||||
</span> <span style="color: lightskyblue">
|
</span> <span style="color: lightskyblue">
|
||||||
<%- msToTime(record.dispatcherTime) %>
|
<%- msToTime(record.dispatcherTime) %>
|
||||||
</span> </summary>
|
</span> </summary>
|
||||||
<p>Spędzona liczba godzin: <%- msToTime(record.dispatcherTime) || 'Brak' %></p>
|
<p>Spędzona liczba godzin: <%- msToTime(record.dispatcherTime, true) || 'Brak' %></p>
|
||||||
<button onclick="location.href = '/profiles/<%- record.steam %>'">Więcej</button>
|
<button onclick="location.href = '/profiles/<%- record.steam %>'">Więcej</button>
|
||||||
</details>
|
</details>
|
@ -4,7 +4,7 @@
|
|||||||
</span> - <span style="color:lightskyblue">
|
</span> - <span style="color:lightskyblue">
|
||||||
<%- record.trainPoints %> pkt.
|
<%- record.trainPoints %> pkt.
|
||||||
</span></summary>
|
</span></summary>
|
||||||
<p>Spędzona liczba godzin: <%- msToTime(record.trainTime) %></p>
|
<p>Spędzona liczba godzin: <%- msToTime(record.trainTime, true) %></p>
|
||||||
<p>Przejechane kilometry: <%- record.trainDistance / 1000 %>km</p>
|
<p>Przejechane kilometry: <%- record.trainDistance / 1000 %>km</p>
|
||||||
<p>Zdobyte punkty: <%- record.trainPoints %></p>
|
<p>Zdobyte punkty: <%- record.trainPoints %></p>
|
||||||
<button onclick="location.href = '/profiles/<%- record.steam %>'">Więcej</button>
|
<button onclick="location.href = '/profiles/<%- record.steam %>'">Więcej</button>
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
<summary>Statystyki Steam</summary>
|
<summary>Statystyki Steam</summary>
|
||||||
<p>Zdobyte punkty: <%- steamStats.stats.find(x => x.name === 'SCORE')?.value ?? "0" %></p>
|
<p>Zdobyte punkty: <%- steamStats.stats.find(x => x.name === 'SCORE')?.value ?? "0" %></p>
|
||||||
<p>Przejechane kilometry: <%- (steamStats.stats.find(x => x.name === 'DISTANCE_M')?.value / 1000) ?? "0" %></p>
|
<p>Przejechane kilometry: <%- (steamStats.stats.find(x => x.name === 'DISTANCE_M')?.value / 1000) ?? "0" %></p>
|
||||||
<p>Czas spędzony jako dyżurny ruchu: <%- msToTime((steamStats.stats.find(x => x.name === 'DISPATCHER_TIME')?.value ?? 0)*1_000_000) || 'Nigdy nie wszedł w tryb dyżurnego ruchu.' %></p>
|
<p>Czas spędzony jako dyżurny ruchu: <%- msToTime((steamStats.stats.find(x => x.name === 'DISPATCHER_TIME')?.value ?? 0)*1_000_000, true) || 'Nigdy nie wszedł w tryb dyżurnego ruchu.' %></p>
|
||||||
<br />
|
<br />
|
||||||
<p style="font-size: smaller;">UWAGA: powyższe statystyki udostępnia platforma STEAM, mogą one być z łatwością manipulowane.</p>
|
<p style="font-size: smaller;">UWAGA: powyższe statystyki udostępnia platforma STEAM, mogą one być z łatwością manipulowane.</p>
|
||||||
|
|
||||||
@ -73,7 +73,7 @@
|
|||||||
<details open>
|
<details open>
|
||||||
<summary><%- name %></summary>
|
<summary><%- name %></summary>
|
||||||
<p>Przejechany dystans: <%- player.trainStats[name].distance / 1000 %>km</p>
|
<p>Przejechany dystans: <%- player.trainStats[name].distance / 1000 %>km</p>
|
||||||
<p>Spędzony czas: <%- msToTime(player.trainStats[name].time) %></p>
|
<p>Spędzony czas: <%- msToTime(player.trainStats[name].time, true) %></p>
|
||||||
<p>Zdobyte punkty: <%- player.trainStats[name].score %></p>
|
<p>Zdobyte punkty: <%- player.trainStats[name].score %></p>
|
||||||
<p>Średnia prędkość: <%- ((player.trainStats[name].distance / (player.trainStats[name].time / 1000)) * 3.6).toFixed(2) %> km/h</p>
|
<p>Średnia prędkość: <%- ((player.trainStats[name].distance / (player.trainStats[name].time / 1000)) * 3.6).toFixed(2) %> km/h</p>
|
||||||
</details>
|
</details>
|
||||||
@ -95,7 +95,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<details open>
|
<details open>
|
||||||
<summary><%- name %></summary>
|
<summary><%- name %></summary>
|
||||||
<p>Spędzony czas: <%- msToTime(player.dispatcherStats[name].time) %></p>
|
<p>Spędzony czas: <%- msToTime(player.dispatcherStats[name].time, true) %></p>
|
||||||
</details>
|
</details>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
%> (<%- record.joinedDate ? dayjs(record.joinedDate).fromNow() : '--' %>)</p>
|
%> (<%- record.joinedDate ? dayjs(record.joinedDate).fromNow() : '--' %>)</p>
|
||||||
<p>Data wyjścia: <%- dayjs(record.leftDate).format('HH:mm DD/MM/YYYY') %> (<%- dayjs(record.leftDate).fromNow()
|
<p>Data wyjścia: <%- dayjs(record.leftDate).format('HH:mm DD/MM/YYYY') %> (<%- dayjs(record.leftDate).fromNow()
|
||||||
%>)</p>
|
%>)</p>
|
||||||
<p>Spędzony czas: <%- record.joinedDate ? msToTime(record.leftDate - record.joinedDate) : '--' %>
|
<p>Spędzony czas: <%- record.joinedDate ? msToTime(record.leftDate - record.joinedDate, true) : '--' %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
%> (<%- record.joinedDate ? dayjs(record.joinedDate).fromNow() : '--' %>)</p>
|
%> (<%- record.joinedDate ? dayjs(record.joinedDate).fromNow() : '--' %>)</p>
|
||||||
<p>Data wyjścia: <%- dayjs(record.leftDate).format('HH:mm DD/MM/YYYY') %> (<%- dayjs(record.leftDate).fromNow()
|
<p>Data wyjścia: <%- dayjs(record.leftDate).format('HH:mm DD/MM/YYYY') %> (<%- dayjs(record.leftDate).fromNow()
|
||||||
%>)</p>
|
%>)</p>
|
||||||
<p>Spędzony czas: <%- record.joinedDate ? msToTime(record.leftDate - record.joinedDate) : '--' %>
|
<p>Spędzony czas: <%- record.joinedDate ? msToTime(record.leftDate - record.joinedDate, true) : '--' %>
|
||||||
</p>
|
</p>
|
||||||
<% if (record.distance) { %>
|
<% if (record.distance) { %>
|
||||||
<p>Przejechane kilometry: <%- record.distance / 1000 %></p>
|
<p>Przejechane kilometry: <%- record.distance / 1000 %></p>
|
||||||
|
@ -1,18 +1,27 @@
|
|||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import relativeTime from 'dayjs/plugin/relativeTime.js';
|
import relativeTime from 'dayjs/plugin/relativeTime.js';
|
||||||
|
import duration from 'dayjs/plugin/duration.js';
|
||||||
import pl from 'dayjs/locale/pl.js';
|
import pl from 'dayjs/locale/pl.js';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dayjs.extend(duration)
|
||||||
dayjs.extend(relativeTime);
|
dayjs.extend(relativeTime);
|
||||||
dayjs.locale(pl);
|
dayjs.locale(pl);
|
||||||
|
|
||||||
|
|
||||||
export const msToTime = (duration: number) => {
|
export const msToTime = (duration: number, long = false) => {
|
||||||
const minutes = Math.floor((duration / (1000 * 60)) % 60);
|
const time = dayjs.duration(duration, 'milliseconds');
|
||||||
const hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
|
|
||||||
|
|
||||||
if (minutes === 0 && hours === 0 && duration > 0)
|
if (long) {
|
||||||
return "1m";
|
let t = '';
|
||||||
|
if (time.hours()) t+= `${time.hours()}h `;
|
||||||
|
if (time.minutes()) t+= `${time.minutes()}m `;
|
||||||
|
if (time.seconds()) t+= `${time.seconds()}s`;
|
||||||
|
|
||||||
|
return `${time.humanize} (${t})`;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return `${hours ? `${hours}h ` : ''}${minutes ? `${minutes}m` : ''}`;
|
return time.humanize();
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user