// Metro module 12033 (f12034). import { useMemo } from "react"; import ContentInventoryOutboxStore from "../../content_inventory/ContentInventoryOutboxStore"; import PresenceStore from "../../../stores/PresenceStore"; import useDiscoverableApplicationStream from "../../blocking/useDiscoverableApplicationStream"; import { useStateFromStores } from "../../../_bundle/Module589"; import { getUserProfileLiveActivities } from "../utils/UserProfileStackedActivityCardUtils"; import * as _utils from "../../content_inventory/utils"; import { isListenedSessionEntry, isWatchedMediaEntry, isRecentActivityEntry } from "../../content_inventory/ContentInventoryTypes"; import { isMatchingListeningActivity, isMatchingWatchActivity } from "../../content_inventory/matchUtils"; const live = []; const recent = []; export default function useUserProfileActivity(a0) { let stateFromStores2; const discoverableApplicationStream = useDiscoverableApplicationStream(a0); const stateFromStores = useStateFromStores([PresenceStore], () => PresenceStore.getActivities(a0)); stateFromStores2 = useStateFromStores([ContentInventoryOutboxStore], () => ContentInventoryOutboxStore.getUserOutbox(a0)); const memo = useMemo(() => { let live2 = getUserProfileLiveActivities(stateFromStores); const userProfileLiveActivities = live2; let recent2 = stateFromStores2 == null ? void 0 : stateFromStores2.entries.filter((entry) => { const isEntryLive = _utils.isEntryLive(entry); return isEntryLive ? !isEntryLive : isListenedSessionEntry(entry) ? entry.extra.entries.length > 0 && !userProfileLiveActivities.some((userProfileLiveActivity) => userProfileLiveActivity != null && isMatchingListeningActivity(entry, userProfileLiveActivity)) : isWatchedMediaEntry(entry) ? !userProfileLiveActivities.some((userProfileLiveActivity) => userProfileLiveActivity != null && isMatchingWatchActivity(entry, userProfileLiveActivity)) : isRecentActivityEntry(entry); }); if (userProfileLiveActivities.length === 0) { live2 = live; } if (!(recent2 != null && recent2.length !== 0)) { recent2 = recent; } return { live: live2, recent: recent2 }; }, [stateFromStores, stateFromStores2?.entries]); return { live: memo.live, recent: memo.recent, stream: discoverableApplicationStream, outbox: stateFromStores2 }; };