diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index d191620c..9f8de8f8 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -205,6 +205,7 @@ "update_playtime_error": "Failed to update playtime", "update_game_playtime": "Update game playtime", "manual_playtime_warning": "Your hours will be marked as manually updated, and this cannot be undone.", + "manual_playtime_tooltip": "This playtime has been manually updated", "download_error_not_cached_on_torbox": "This download is not available on TorBox and polling download status from TorBox is not yet available.", "download_error_not_cached_on_hydra": "This download is not available on Nimbus.", "game_removed_from_favorites": "Game removed from favorites", diff --git a/src/main/events/library/change-game-playtime.ts b/src/main/events/library/change-game-playtime.ts index f2c4d670..ff37c33e 100644 --- a/src/main/events/library/change-game-playtime.ts +++ b/src/main/events/library/change-game-playtime.ts @@ -1,7 +1,7 @@ import { HydraApi } from "@main/services"; import { registerEvent } from "../register-event"; import { GameShop } from "@types"; -import { gamesSublevel , levelKeys } from "@main/level"; +import { gamesSublevel, levelKeys } from "@main/level"; const changeGamePlaytime = async ( _event: Electron.IpcMainInvokeEvent, diff --git a/src/renderer/src/pages/game-details/hero/hero-panel-playtime.scss b/src/renderer/src/pages/game-details/hero/hero-panel-playtime.scss index c8a1de09..00142d59 100644 --- a/src/renderer/src/pages/game-details/hero/hero-panel-playtime.scss +++ b/src/renderer/src/pages/game-details/hero/hero-panel-playtime.scss @@ -12,4 +12,15 @@ color: globals.$body-color; text-decoration: underline; } + + &__play-time { + display: flex; + align-items: center; + gap: 8px; + } + + &__manual-warning { + color: #f59e0b; // Warning amber color + flex-shrink: 0; + } } diff --git a/src/renderer/src/pages/game-details/hero/hero-panel-playtime.tsx b/src/renderer/src/pages/game-details/hero/hero-panel-playtime.tsx index ba30879c..9cd246be 100644 --- a/src/renderer/src/pages/game-details/hero/hero-panel-playtime.tsx +++ b/src/renderer/src/pages/game-details/hero/hero-panel-playtime.tsx @@ -5,10 +5,14 @@ import { useDate, useDownload, useFormat } from "@renderer/hooks"; import { Link } from "@renderer/components"; import { gameDetailsContext } from "@renderer/context"; import { MAX_MINUTES_TO_SHOW_IN_PLAYTIME } from "@renderer/constants"; +import { AlertFillIcon } from "@primer/octicons-react"; +import { Tooltip } from "react-tooltip"; import "./hero-panel-playtime.scss"; export function HeroPanelPlaytime() { const [lastTimePlayed, setLastTimePlayed] = useState(""); + + const { game, isGameRunning } = useContext(gameDetailsContext); const { t } = useTranslation("game_details"); const { numberFormatter } = useFormat(); @@ -85,7 +89,22 @@ export function HeroPanelPlaytime() { return ( <> -
+
+ {game.hasManuallyUpdatedPlaytime && (
+