mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-02-13 11:42:10 +00:00
feat: game-details call getRandomCall on button click
This commit is contained in:
parent
6068c506c3
commit
2426eab371
1 changed files with 4 additions and 16 deletions
|
@ -53,18 +53,10 @@ export function GameDetails() {
|
||||||
const [showRepacksModal, setShowRepacksModal] = useState(false);
|
const [showRepacksModal, setShowRepacksModal] = useState(false);
|
||||||
const [showSelectFolderModal, setShowSelectFolderModal] = useState(false);
|
const [showSelectFolderModal, setShowSelectFolderModal] = useState(false);
|
||||||
|
|
||||||
const randomGameObjectID = useRef<string | null>(null);
|
|
||||||
|
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
|
|
||||||
const { game: gameDownloading, startDownload, isDownloading } = useDownload();
|
const { game: gameDownloading, startDownload, isDownloading } = useDownload();
|
||||||
|
|
||||||
const getRandomGame = useCallback(() => {
|
|
||||||
window.electron.getRandomGame().then((objectID) => {
|
|
||||||
randomGameObjectID.current = objectID;
|
|
||||||
});
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const handleImageSettled = useCallback((url: string) => {
|
const handleImageSettled = useCallback((url: string) => {
|
||||||
average(url, { amount: 1, format: "hex" })
|
average(url, { amount: 1, format: "hex" })
|
||||||
.then((color) => {
|
.then((color) => {
|
||||||
|
@ -89,8 +81,6 @@ export function GameDetails() {
|
||||||
setIsGamePlaying(false);
|
setIsGamePlaying(false);
|
||||||
dispatch(setHeaderTitle(""));
|
dispatch(setHeaderTitle(""));
|
||||||
|
|
||||||
getRandomGame();
|
|
||||||
|
|
||||||
window.electron
|
window.electron
|
||||||
.getGameShopDetails(objectID, "steam", getSteamLanguage(i18n.language))
|
.getGameShopDetails(objectID, "steam", getSteamLanguage(i18n.language))
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
|
@ -114,7 +104,7 @@ export function GameDetails() {
|
||||||
|
|
||||||
getGame();
|
getGame();
|
||||||
setHowLongToBeat({ isLoading: true, data: null });
|
setHowLongToBeat({ isLoading: true, data: null });
|
||||||
}, [getGame, getRandomGame, dispatch, navigate, objectID, i18n.language]);
|
}, [getGame, dispatch, navigate, objectID, i18n.language]);
|
||||||
|
|
||||||
const isGameDownloading = isDownloading && gameDownloading?.id === game?.id;
|
const isGameDownloading = isDownloading && gameDownloading?.id === game?.id;
|
||||||
|
|
||||||
|
@ -158,16 +148,14 @@ export function GameDetails() {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleRandomizerClick = () => {
|
const handleRandomizerClick = async () => {
|
||||||
if (!randomGameObjectID.current) return;
|
const randomGameObjectID = await window.electron.getRandomGame();
|
||||||
|
|
||||||
const searchParams = new URLSearchParams({
|
const searchParams = new URLSearchParams({
|
||||||
fromRandomizer: "1",
|
fromRandomizer: "1",
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(
|
navigate(`/game/steam/${randomGameObjectID}?${searchParams.toString()}`);
|
||||||
`/game/steam/${randomGameObjectID.current}?${searchParams.toString()}`
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const fromRandomizer = searchParams.get("fromRandomizer");
|
const fromRandomizer = searchParams.get("fromRandomizer");
|
||||||
|
|
Loading…
Reference in a new issue