diff --git a/package.json b/package.json index a802c6d1..6dca982a 100644 --- a/package.json +++ b/package.json @@ -122,5 +122,6 @@ "typescript": "^5.3.3", "vite": "^5.0.12", "vite-plugin-svgr": "^4.2.0" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index dad29fa8..b0215161 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -21,7 +21,8 @@ "queued": "{{title}} (In Warteschlange)", "game_has_no_executable": "Spiel hat keine ausführbare Datei gewählt", "sign_in": "Anmelden", - "favorites": "Favoriten" + "favorites": "Favoriten", + "playable_button_title": "Nur Spiele anzeigen, die Sie jetzt spielen können" }, "header": { "search": "Spiele suchen", diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 93e18f17..71c2081b 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -27,7 +27,8 @@ "sign_in": "Sign in", "friends": "Friends", "need_help": "Need help?", - "favorites": "Favorites" + "favorites": "Favorites", + "playable_button_title": "Show only games you could play now" }, "header": { "search": "Search games", diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 716f7b33..f91a9809 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -27,7 +27,8 @@ "sign_in": "Iniciar sesión", "friends": "Amigos", "need_help": "¿Necesitas ayuda?", - "favorites": "Favoritos" + "favorites": "Favoritos", + "playable_button_title": "Mostrar solo juegos que puedes jugar ahora" }, "header": { "search": "Buscar juegos", diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json index aab6e019..e959f98a 100644 --- a/src/locales/fr/translation.json +++ b/src/locales/fr/translation.json @@ -27,7 +27,8 @@ "sign_in": "Se connecter", "friends": "Amis", "need_help": "Besoin d'aide ?", - "favorites": "Favoris" + "favorites": "Favoris", + "playable_button_title": "Afficher uniquement les jeux que vous pouvez jouer maintenant" }, "header": { "search": "Rechercher", diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index 5e69a733..b23d1244 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -15,7 +15,8 @@ "downloading": "{{title}} ({{percentage}} - Download…)", "filter": "Filtra libreria", "home": "Home", - "favorites": "Preferiti" + "favorites": "Preferiti", + "playable_button_title": "Mostra solo i giochi che puoi giocare ora" }, "header": { "search": "Cerca", diff --git a/src/locales/pl/translation.json b/src/locales/pl/translation.json index 1d55099e..9a9dbe2c 100644 --- a/src/locales/pl/translation.json +++ b/src/locales/pl/translation.json @@ -15,7 +15,8 @@ "downloading": "{{title}} ({{percentage}} - Pobieranie…)", "filter": "Filtruj biblioteke", "home": "Główna", - "favorites": "Ulubione" + "favorites": "Ulubione", + "playable_button_title": "Pokaż tylko gry, w które możesz grać teraz" }, "header": { "search": "Szukaj", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 00b7e5af..b71face0 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -27,7 +27,8 @@ "sign_in": "Войти", "friends": "Друзья", "need_help": "Нужна помощь?", - "favorites": "Избранное" + "favorites": "Избранное", + "playable_button_title": "Показать только игры, в которые можно играть сейчас" }, "header": { "search": "Поиск", diff --git a/src/locales/uk/translation.json b/src/locales/uk/translation.json index bed8a167..bd6b7dce 100644 --- a/src/locales/uk/translation.json +++ b/src/locales/uk/translation.json @@ -25,9 +25,10 @@ "game_has_no_executable": "Не було вибрано файл для запуску гри", "queued": "{{title}} в черзі", "sign_in": "Увійти", - "favorites": "Улюблені", + "favorites": "Избранное", "friends": "Друзі", - "need_help": "Потрібна допомога?" + "need_help": "Потрібна допомога?", + "playable_button_title": "Показать только игры, в которые можно играть сейчас" }, "header": { "search": "Пошук", diff --git a/src/renderer/src/components/sidebar/sidebar.scss b/src/renderer/src/components/sidebar/sidebar.scss index b626835f..a44c0753 100644 --- a/src/renderer/src/components/sidebar/sidebar.scss +++ b/src/renderer/src/components/sidebar/sidebar.scss @@ -143,3 +143,23 @@ border-radius: 50%; } } + +.sidebar__play-button { + background: none; + border: none; + color: white; + cursor: pointer; + padding: 0; + + &:active { + color: gray; + } + + &--active { + color: #16b195; + } + + svg { + display: block; + } +} diff --git a/src/renderer/src/components/sidebar/sidebar.tsx b/src/renderer/src/components/sidebar/sidebar.tsx index f9c8c47a..f217e62c 100644 --- a/src/renderer/src/components/sidebar/sidebar.tsx +++ b/src/renderer/src/components/sidebar/sidebar.tsx @@ -21,7 +21,7 @@ import { buildGameDetailsPath } from "@renderer/helpers"; import { SidebarProfile } from "./sidebar-profile"; import { sortBy } from "lodash-es"; import cn from "classnames"; -import { CommentDiscussionIcon } from "@primer/octicons-react"; +import { CommentDiscussionIcon, PlayIcon } from "@primer/octicons-react"; import { SidebarGameItem } from "./sidebar-game-item"; import { setFriendRequestCount } from "@renderer/features/user-details-slice"; import { useDispatch } from "react-redux"; @@ -60,6 +60,12 @@ export function Sidebar() { const { showWarningToast } = useToast(); + const [showPlayableOnly, setShowPlayableOnly] = useState(false); + + const handlePlayButtonClick = () => { + setShowPlayableOnly(!showPlayableOnly); + }; + useEffect(() => { updateLibrary(); }, [lastPacket?.gameId, updateLibrary]); @@ -242,7 +248,12 @@ export function Sidebar() { )}
- {t("my_library")} +
+ {t("my_library")} + +
{filteredLibrary .filter((game) => !game.favorite) + .filter((game) => !showPlayableOnly || Boolean(game.executablePath)) .map((game) => (