import Image from "next/image"; import { Section } from "../ui/Section"; import { ButtonLink } from "../ui/ButtonLink"; import { StatusBadge } from "../ui/StatusBadge"; import { Reveal } from "../ui/Reveal"; import type { Game } from "@/lib/games"; type Props = { game: Game }; /** * The home page showcase for the studio's current game. * * Deliberately NOT the `GameCard` used on /games. A card is a catalogue * object — it is right when a visitor is comparing several games, and wrong * when there is one game and the whole page exists to sell it. * * The card also forced the key art into whatever height the text column * happened to be, cropping roughly a third of a 16:9 composition. Here the * ratio is locked, so the art is shown as it was framed. */ export function FeaturedGame({ game }: Props) { const artwork = game.keyArt ?? game.banner; return (
{/* The artwork gets the larger column: it is the only thing on the home page that shows the game itself. */}
{/* Artwork first in the DOM so it also leads on mobile, where the layout collapses to a single column. */}
{artwork && ( {`${game.title} )}

OUR GAMES

{game.title.toUpperCase()}

{game.tagline}

{/* Genres as one quiet line instead of a row of chips — the badge already carries the only label that needs a border. */}

{game.genres.join(" · ")} {game.releaseWindow && ` · ${game.releaseWindow}`}

DISCOVER {game.title.toUpperCase()} {game.steamUrl && ( WISHLIST ON STEAM )}
); }