From 1522b00579704e2eb129bcf9c1f2f22d07dd9580 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sat, 21 Dec 2024 23:31:30 -0300 Subject: [PATCH] feat: some visuals --- .../achievements/achievement-panel.css.ts | 8 +-- .../pages/achievements/achievement-panel.tsx | 23 +++------ .../achievements/achievements-content.tsx | 3 +- .../compared-achievement-list.tsx | 8 +-- .../compared-achievement-panel.tsx | 49 +++++++++++++++++++ .../profile-content/user-stats-box.tsx | 30 ++++++++---- 6 files changed, 81 insertions(+), 40 deletions(-) create mode 100644 src/renderer/src/pages/achievements/compared-achievement-panel.tsx diff --git a/src/renderer/src/pages/achievements/achievement-panel.css.ts b/src/renderer/src/pages/achievements/achievement-panel.css.ts index 58888c2c..0056a7f5 100644 --- a/src/renderer/src/pages/achievements/achievement-panel.css.ts +++ b/src/renderer/src/pages/achievements/achievement-panel.css.ts @@ -5,22 +5,18 @@ import { SPACING_UNIT, vars } from "../../theme.css"; export const panel = style({ width: "100%", - height: "72px", - minHeight: "72px", - padding: `${SPACING_UNIT * 2}px ${SPACING_UNIT * 3}px`, + padding: `${SPACING_UNIT * 2}px ${SPACING_UNIT * 2}px`, backgroundColor: vars.color.background, display: "flex", alignItems: "center", justifyContent: "space-between", - transition: "all ease 0.2s", borderBottom: `solid 1px ${vars.color.border}`, - overflow: "hidden", }); export const content = style({ display: "flex", - flexDirection: "column", gap: `${SPACING_UNIT}px`, + justifyContent: "center", }); export const actions = style({ diff --git a/src/renderer/src/pages/achievements/achievement-panel.tsx b/src/renderer/src/pages/achievements/achievement-panel.tsx index aaf9c97c..bf48e517 100644 --- a/src/renderer/src/pages/achievements/achievement-panel.tsx +++ b/src/renderer/src/pages/achievements/achievement-panel.tsx @@ -1,11 +1,9 @@ import { useContext } from "react"; import { useTranslation } from "react-i18next"; - -import { useDate, useDownload } from "@renderer/hooks"; - +import { gameDetailsContext } from "@renderer/context"; import * as styles from "./achievement-panel.css"; -import { gameDetailsContext } from "@renderer/context"; +import HydraIcon from "@renderer/assets/icons/hydra.svg?react"; export interface HeroPanelProps { isHeaderStuck: boolean; @@ -14,23 +12,14 @@ export interface HeroPanelProps { export function AchievementPanel({ isHeaderStuck }: HeroPanelProps) { const { t } = useTranslation("game_details"); - const { formatDate } = useDate(); - - const { game, repacks, gameColor } = useContext(gameDetailsContext); - - const { lastPacket } = useDownload(); - - const isGameDownloading = - game?.status === "active" && lastPacket?.game.id === game?.id; - - const showProgressBar = - (game?.status === "active" && game?.progress < 1) || - game?.status === "paused"; + const {} = useContext(gameDetailsContext); return ( <>
-
Teste 123131312
+
+ Pontos desbloqueados: 69/420 +
); diff --git a/src/renderer/src/pages/achievements/achievements-content.tsx b/src/renderer/src/pages/achievements/achievements-content.tsx index 8fc530c5..c633aefe 100644 --- a/src/renderer/src/pages/achievements/achievements-content.tsx +++ b/src/renderer/src/pages/achievements/achievements-content.tsx @@ -18,6 +18,7 @@ import { ComparedAchievementList } from "./compared-achievement-list"; import * as styles from "./achievements.css"; import { AchievementList } from "./achievement-list"; import { AchievementPanel } from "./achievement-panel"; +import { ComparedAchievementPanel } from "./compared-achievement-panel"; interface UserInfo { id: string; @@ -322,7 +323,7 @@ export function AchievementsContent({ {otherUser ? ( <> - + ) : ( diff --git a/src/renderer/src/pages/achievements/compared-achievement-list.tsx b/src/renderer/src/pages/achievements/compared-achievement-list.tsx index 21f11936..349ef755 100644 --- a/src/renderer/src/pages/achievements/compared-achievement-list.tsx +++ b/src/renderer/src/pages/achievements/compared-achievement-list.tsx @@ -58,11 +58,9 @@ export function ComparedAchievementList({ gap: `${SPACING_UNIT}px`, justifyContent: "center", }} + title={formatDateTime(achievement.ownerStat.unlockTime!)} > - - {formatDateTime(achievement.ownerStat.unlockTime!)} - ) : (
- - {formatDateTime(achievement.targetStat.unlockTime!)} -
) : (
+
+
+ Total de pontos: 4200 +
+ {achievements.owner.achievementsPointsEarnedSum !== undefined && ( +
+ + {achievements.owner.achievementsPointsEarnedSum} +
+ )} +
+ + {achievements.target.achievementsPointsEarnedSum} +
+
+ + ); +} diff --git a/src/renderer/src/pages/profile/profile-content/user-stats-box.tsx b/src/renderer/src/pages/profile/profile-content/user-stats-box.tsx index 888b03d4..f89cba02 100644 --- a/src/renderer/src/pages/profile/profile-content/user-stats-box.tsx +++ b/src/renderer/src/pages/profile/profile-content/user-stats-box.tsx @@ -4,6 +4,7 @@ import { userProfileContext } from "@renderer/context"; import { useTranslation } from "react-i18next"; import { useFormat } from "@renderer/hooks"; import { MAX_MINUTES_TO_SHOW_IN_PLAYTIME } from "@renderer/constants"; +import HydraIcon from "@renderer/assets/icons/hydra.svg?react"; export function UserStatsBox() { const { userStats } = useContext(userProfileContext); @@ -42,21 +43,30 @@ export function UserStatsBox() { {userStats.achievementsPointsEarnedSum && (
  • {t("achievements")}

    -

    - Total points: {userStats.achievementsPointsEarnedSum.value} - - Top {userStats.achievementsPointsEarnedSum.topPercentile}%{" "} -

    -

    Unlocked: {userStats.unlockedAchievementSum}

    +
    +

    + + {userStats.achievementsPointsEarnedSum.value} points +

    +

    + Top {userStats.achievementsPointsEarnedSum.topPercentile}%{" "} +

    +
    +

    Unlock count: {userStats.unlockedAchievementSum}

  • )}
  • {t("games")}

    -

    - Total playtime:{" "} - {formatPlayTime(userStats.totalPlayTimeInSeconds.value)} - Top{" "} - {userStats.totalPlayTimeInSeconds.topPercentile}% -

    +
    +

    + Total playtime:{" "} + {formatPlayTime(userStats.totalPlayTimeInSeconds.value)} +

    +

    Top {userStats.totalPlayTimeInSeconds.topPercentile}%

    +