// Metro module 11923 (f11924). import GameStore from "../../games/GameStore"; import UserStore from "../../../stores/UserStore"; import { SIMILAR_GAMES_BLOCKED_GAME_IDS } from "../../../_bundle/Module8657"; import { useSimilarGameIds } from "../GameProfileHttpUtils"; import { useGames } from "../../games/hooks/useGame"; import { useStateFromStores, useStateFromStoresArray } from "../../../_bundle/Module589"; import { gameIsAcceptable } from "./useShouldOpenGameProfileModal"; import { isGameProfileObscured } from "./useGameProfileObscured"; let c8177_5 = []; const similarGames = []; export default function useSimilarGames(a0, a1) { let r13; const r2 = a1 ? !SIMILAR_GAMES_BLOCKED_GAME_IDS.has(a0) : a1; const similarGameIds = useSimilarGameIds(a0, r2); const { data, isLoading, error } = similarGameIds; if (r2) { r13 = data; if (r13 == null) { r13 = c8177_5; } } else { r13 = c8177_5; } let c19274_0 = r13; useGames(r13); const stateFromStores = useStateFromStores([GameStore], () => c19274_0.some((item) => GameStore.getGame(item) == null && !GameStore.hasNoData(item) && !GameStore.didFetchingFail(item)), [r13]); const stateFromStoresArray = useStateFromStoresArray([GameStore, UserStore], () => { const nsfwAllowed = UserStore.getCurrentUser()?.nsfwAllowed; return c19274_0.map((item) => GameStore.getGame(item)).filter((item) => item != null).filter((item) => gameIsAcceptable(item) && !isGameProfileObscured(item, nsfwAllowed)); }, [r13]); return r2 ? { isFetching: error == null && data == null || isLoading || stateFromStores, similarGames: stateFromStoresArray } : { isFetching: false, similarGames }; };