diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 8c32ec61..2453f229 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -358,6 +358,8 @@ "quit": "Quit" }, "game_card": { + "available_one": "Available", + "available_other": "Available", "no_downloads": "No downloads available" }, "binary_not_found_modal": { diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 8d0d9b14..0c9e9cb9 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -359,6 +359,8 @@ "quit": "Salir" }, "game_card": { + "available_one": "Disponible", + "available_other": "Disponibles", "no_downloads": "No hay descargas disponibles" }, "binary_not_found_modal": { diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json index 08359475..85827f76 100644 --- a/src/locales/pt-BR/translation.json +++ b/src/locales/pt-BR/translation.json @@ -344,6 +344,8 @@ "quit": "Fechar" }, "game_card": { + "available_one": "Disponível", + "available_other": "Disponíveis", "no_downloads": "Sem downloads disponíveis" }, "binary_not_found_modal": { diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index db42c912..394f2de5 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -356,6 +356,8 @@ "quit": "Выйти" }, "game_card": { + "available_one": "Доступный", + "available_other": "Доступный", "no_downloads": "Нет доступных источников" }, "binary_not_found_modal": { diff --git a/src/renderer/src/components/game-card/game-card.tsx b/src/renderer/src/components/game-card/game-card.tsx index 12dcda49..9859fe1e 100644 --- a/src/renderer/src/components/game-card/game-card.tsx +++ b/src/renderer/src/components/game-card/game-card.tsx @@ -7,7 +7,7 @@ import "./game-card.scss"; import { useTranslation } from "react-i18next"; import { Badge } from "../badge/badge"; -import { useCallback, useState } from "react"; +import { useCallback, useState, useMemo } from "react"; import { useFormat, useRepacks } from "@renderer/hooks"; import { steamUrlBuilder } from "@shared"; @@ -45,6 +45,15 @@ export function GameCard({ game, ...props }: GameCardProps) { const { numberFormatter } = useFormat(); + const firstThreeRepackers = useMemo( + () => uniqueRepackers.slice(0, 3), + [uniqueRepackers] + ); + const remainingCount = useMemo( + () => uniqueRepackers.length - 3, + [uniqueRepackers] + ); + return (