mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-22 02:13:59 +00:00
fix: game session duration calculation
This commit is contained in:
@@ -108,7 +108,7 @@ export function App() {
|
||||
dispatch(
|
||||
setRunningGame({
|
||||
...libraryGame,
|
||||
sessionStartTimestamp: lastGame.sessionStartTimestamp,
|
||||
sessionDurationInMillis: lastGame.sessionDurationInMillis,
|
||||
})
|
||||
);
|
||||
return;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { formatDistance } from "date-fns";
|
||||
import { formatDistance, subMilliseconds } from "date-fns";
|
||||
import type { FormatDistanceOptions } from "date-fns";
|
||||
import {
|
||||
ptBR,
|
||||
@@ -52,5 +52,20 @@ export function useDate() {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
|
||||
formatDistanceInMillis: (
|
||||
millis: number,
|
||||
baseDate: string | number | Date,
|
||||
options?: FormatDistanceOptions
|
||||
) => {
|
||||
try {
|
||||
return formatDistance(subMilliseconds(new Date(), millis), baseDate, {
|
||||
...options,
|
||||
locale: getDateLocale(),
|
||||
});
|
||||
} catch (err) {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ export function UserContent({
|
||||
});
|
||||
}, [i18n.language]);
|
||||
|
||||
const { formatDistance } = useDate();
|
||||
const { formatDistance, formatDistanceInMillis } = useDate();
|
||||
|
||||
const formatPlayTime = () => {
|
||||
const seconds = userProfile.libraryGames.reduce(
|
||||
@@ -107,7 +107,8 @@ export function UserContent({
|
||||
{runningGame && isMe && (
|
||||
<div
|
||||
style={{
|
||||
background: `url(${steamUrlBuilder.libraryHero(runningGame.objectID)})`,
|
||||
backgroundImage: `url(${steamUrlBuilder.libraryHero(runningGame.objectID)})`,
|
||||
backgroundPosition: "top",
|
||||
position: "absolute",
|
||||
inset: 0,
|
||||
backgroundSize: "cover",
|
||||
@@ -159,9 +160,9 @@ export function UserContent({
|
||||
</div>
|
||||
<small>
|
||||
{t("playing_for", {
|
||||
amount: formatDistance(
|
||||
runningGame.sessionStartTimestamp,
|
||||
performance.now()
|
||||
amount: formatDistanceInMillis(
|
||||
runningGame.sessionDurationInMillis,
|
||||
new Date().getTime()
|
||||
),
|
||||
})}
|
||||
</small>
|
||||
|
||||
Reference in New Issue
Block a user