-
![{achievements[index].displayName}]({achievements[index].icon})
- {achievements[index].unlockTime && (
+
+ {achievements[index].unlockTime ? (
{t("unlocked_at")}
{formatDateTime(achievements[index].unlockTime)}
+ ) : (
+ "Não desbloqueada"
)}
diff --git a/src/renderer/src/pages/achievements/achievements.css.ts b/src/renderer/src/pages/achievements/achievements.css.ts
index f84bc7be..986f809f 100644
--- a/src/renderer/src/pages/achievements/achievements.css.ts
+++ b/src/renderer/src/pages/achievements/achievements.css.ts
@@ -72,12 +72,10 @@ export const container = style({
export const panel = recipe({
base: {
width: "100%",
- height: "100px",
- minHeight: "100px",
- padding: `${SPACING_UNIT * 2}px 0`,
+ height: "180px",
+ minHeight: "180px",
+ padding: `${SPACING_UNIT * 2}px`,
backgroundColor: vars.color.darkBackground,
- display: "flex",
- flexDirection: "row",
transition: "all ease 0.2s",
borderBottom: `solid 1px ${vars.color.border}`,
position: "sticky",
diff --git a/src/renderer/src/pages/game-details/sidebar/sidebar.tsx b/src/renderer/src/pages/game-details/sidebar/sidebar.tsx
index 8d1fe8d6..a6a24850 100644
--- a/src/renderer/src/pages/game-details/sidebar/sidebar.tsx
+++ b/src/renderer/src/pages/game-details/sidebar/sidebar.tsx
@@ -24,6 +24,8 @@ const fakeAchievements: UserAchievement[] = [
hidden: false,
description: "Chop down your first tree.",
icon: "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/0fbb33098c9da39d1d4771d8209afface9c46e81.jpg",
+ icongray:
+ "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/0fbb33098c9da39d1d4771d8209afface9c46e81.jpg",
unlocked: true,
unlockTime: Date.now(),
},
@@ -32,6 +34,8 @@ const fakeAchievements: UserAchievement[] = [
name: "",
hidden: false,
icon: "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/0a6ff6a36670c96ceb4d30cf6fd69d2fdf55f38e.jpg",
+ icongray:
+ "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/0a6ff6a36670c96ceb4d30cf6fd69d2fdf55f38e.jpg",
unlocked: false,
unlockTime: null,
},
@@ -40,6 +44,8 @@ const fakeAchievements: UserAchievement[] = [
name: "",
hidden: false,
icon: "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/2d10311274fe7c92ab25cc29afdca86b019ad472.jpg",
+ icongray:
+ "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/105600/2d10311274fe7c92ab25cc29afdca86b019ad472.jpg",
unlocked: false,
unlockTime: null,
},
diff --git a/src/types/index.ts b/src/types/index.ts
index eadab11c..58c7191f 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -45,6 +45,7 @@ export interface UserAchievement {
unlocked: boolean;
unlockTime: number | null;
icon: string;
+ icongray: string;
}
export interface RemoteUnlockedAchievement {
From 2700f27d03ff8c869c5b66da429aa36538615ccc Mon Sep 17 00:00:00 2001
From: Zamitto <167933696+zamitto@users.noreply.github.com>
Date: Fri, 18 Oct 2024 01:00:29 -0300
Subject: [PATCH 03/12] feat: redoing page
---
.../events/catalogue/get-game-achievements.ts | 2 +-
.../achievements/get-game-achievement-data.ts | 4 +-
.../achievements/achievements-content.tsx | 74 +++++++++++--------
.../pages/achievements/achievements.css.ts | 8 +-
4 files changed, 50 insertions(+), 38 deletions(-)
diff --git a/src/main/events/catalogue/get-game-achievements.ts b/src/main/events/catalogue/get-game-achievements.ts
index da86f895..734366c8 100644
--- a/src/main/events/catalogue/get-game-achievements.ts
+++ b/src/main/events/catalogue/get-game-achievements.ts
@@ -51,7 +51,7 @@ const getAchievementLocalUser = async (shop: string, objectId: string) => {
...achievementData,
unlocked: false,
unlockTime: null,
- icon: icongray,
+ icongray: icongray,
} as UserAchievement;
})
.sort((a, b) => {
diff --git a/src/main/services/achievements/get-game-achievement-data.ts b/src/main/services/achievements/get-game-achievement-data.ts
index 443af59a..552e66b7 100644
--- a/src/main/services/achievements/get-game-achievement-data.ts
+++ b/src/main/services/achievements/get-game-achievement-data.ts
@@ -42,7 +42,9 @@ export const getGameAchievementData = async (
where: { objectId, shop },
})
.then((gameAchievements) => {
- return JSON.parse(gameAchievements?.achievements || "[]");
+ return JSON.parse(
+ gameAchievements?.achievements || "[]"
+ ) as AchievementData[];
});
});
};
diff --git a/src/renderer/src/pages/achievements/achievements-content.tsx b/src/renderer/src/pages/achievements/achievements-content.tsx
index 1a922a37..fbf9da9f 100644
--- a/src/renderer/src/pages/achievements/achievements-content.tsx
+++ b/src/renderer/src/pages/achievements/achievements-content.tsx
@@ -5,7 +5,7 @@ import { useContext, useEffect, useMemo, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import * as styles from "./achievements.css";
import { formatDownloadProgress } from "@renderer/helpers";
-import { PersonIcon, TrophyIcon } from "@primer/octicons-react";
+import { LockIcon, PersonIcon, TrophyIcon } from "@primer/octicons-react";
import { SPACING_UNIT, vars } from "@renderer/theme.css";
import { gameDetailsContext } from "@renderer/context";
import { UserAchievement } from "@types";
@@ -26,8 +26,8 @@ interface AchievementsContentProps {
}
interface AchievementListProps {
- achievements: UserAchievement[];
- otherUserAchievements?: UserAchievement[];
+ user: UserInfo;
+ otherUser: UserInfo | null;
}
interface AchievementPanelProps {
@@ -39,18 +39,6 @@ function AchievementPanel({ user, otherUser }: AchievementPanelProps) {
const { t } = useTranslation("achievement");
const { userDetails } = useUserDetails();
- const getProfileImage = (imageUrl: string | null | undefined) => {
- return (
-
- {imageUrl ? (
-

- ) : (
-
- )}
-
- );
- };
-
const userTotalAchievementCount = user.achievements.length;
const userUnlockedAchievementCount = user.achievements.filter(
(achievement) => achievement.unlocked
@@ -63,11 +51,9 @@ function AchievementPanel({ user, otherUser }: AchievementPanelProps) {
display: "flex",
flexDirection: "row",
width: "100%",
- padding: `0 ${SPACING_UNIT * 2}px`,
gap: `${SPACING_UNIT * 2}px`,
}}
>
- {getProfileImage(user.profileImageUrl)}