diff --git a/src/renderer/src/pages/achievement/achievements.tsx b/src/renderer/src/pages/achievement/achievements.tsx index 40cb01c5..40f3c35d 100644 --- a/src/renderer/src/pages/achievement/achievements.tsx +++ b/src/renderer/src/pages/achievement/achievements.tsx @@ -1,11 +1,71 @@ +import { useDate } from "@renderer/hooks"; +import { SPACING_UNIT } from "@renderer/theme.css"; +import { GameAchievement, GameShop } from "@types"; +import { useEffect, useState } from "react"; import { useSearchParams } from "react-router-dom"; export function Achievement() { const [searchParams] = useSearchParams(); + const objectId = searchParams.get("objectId"); + const shop = searchParams.get("shop"); + const userId = searchParams.get("userId"); + + const { format } = useDate(); + + const [achievements, setAchievements] = useState([]); + + useEffect(() => { + if (objectId && shop) { + window.electron + .getGameAchievements(objectId, shop as GameShop, userId || undefined) + .then((achievements) => { + setAchievements(achievements); + }); + } + }, []); return (

Achievement

+ +
+ {achievements.map((achievement, index) => ( +
+ {achievement.displayName} +
+

{achievement.displayName}

+ {achievement.unlockTime && format(achievement.unlockTime)} +
+
+ ))} +
); }