diff --git a/app/game/[id]/game-page-client.tsx b/app/game/[id]/game-page-client.tsx index 0b48bf2..a050fd9 100644 --- a/app/game/[id]/game-page-client.tsx +++ b/app/game/[id]/game-page-client.tsx @@ -30,6 +30,11 @@ import { PresetDetailModal } from "./preset-detail-modal" import { BookmarkButton } from "@/components/saved-games/bookmark-button" import { WindowsIcon, MacIcon, LinuxIcon } from "@/app/components/PlatformIcons" +import { AntiCheatBadge } from "@/components/anti-cheat-badge" +import { PlayabilityBadge } from "@/components/playability-badge" +import { SteamReviews } from "@/components/steam-reviews" +import { CommunitySuggestionForm } from "@/components/community-suggestion-form" + // Chart imports import { HistoricalAreaChart } from "@/components/charts/HistoricalAreaChart" import { UpscalerBarChart } from "@/components/charts/UpscalerBarChart" @@ -71,6 +76,9 @@ interface Game { releaseDate: string | null categories: string[] | null platforms: { windows: boolean; mac: boolean; linux: boolean } | null + playabilityStatus?: "great" | "playable" | "needs_tweaks" | "unplayable" | "unknown" | null + steamReviewScore?: number | null + steamReviewSentiment?: string | null } interface Counts { @@ -85,6 +93,10 @@ interface PlatformSupport { hardwareSlug: string isSupported: boolean protonStatus: string + playabilityStatus: "great" | "playable" | "needs_tweaks" | "unplayable" | "unknown" | null + antiCheatRelevant: boolean + antiCheatStatus: "none" | "supported" | "unsupported" | "unknown" | null + antiCheatName: string | null } interface Preset { @@ -481,6 +493,24 @@ export function GamePageClient({ ⚠ Poor Performance )} + + {/* Playability badge */} + {game.playabilityStatus && ( + + )} + + {/* Anti-cheat badge */} + {platformSupport?.some((p) => p.antiCheatRelevant) && ( + p.antiCheatRelevant)?.antiCheatStatus ?? "unknown" + } + antiCheatName={ + platformSupport.find((p) => p.antiCheatRelevant)?.antiCheatName + } + /> + )} {/* Subtitle */} @@ -608,6 +638,17 @@ export function GamePageClient({ Add Benchmark )} + )} @@ -721,6 +762,14 @@ export function GamePageClient({ /> )} {game.releaseDate && } + {game.steamReviewScore != null && ( +
+ Steam Reviews +

+ {game.steamReviewSentiment} ({game.steamReviewScore}%) +

+
+ )} {/* Platforms */} @@ -780,6 +829,24 @@ export function GamePageClient({ {ps.protonStatus} + + {/* Per-device playability */} + {ps.playabilityStatus && ( + + )} + + {/* Per-device anti-cheat */} + {ps.antiCheatRelevant && ( + + )} ))} @@ -1334,6 +1401,15 @@ export function GamePageClient({ + {/* Steam Reviews */} + {game.steamAppId && ( +
+
+ +
+
+ )} + {/* Section 6: Comments */}