// Metro module 14865 (f14866). import { useEffect } from "react"; import UserStore from "../../stores/UserStore"; import MultiAccountStore, { MultiAccountTokenStatus } from "./MultiAccountStore"; import { useStateFromStoresObject } from "../../_bundle/Module589"; import Dispatcher from "../../Dispatcher"; import { validateMultiAccountTokens } from "./MultiAccountActionCreators"; export function useMultiAccountUsers() { const stateFromStoresObject = useStateFromStoresObject([MultiAccountStore, UserStore], () => { const users = MultiAccountStore.getUsers(); const currentUser = UserStore.getCurrentUser(); return currentUser != null && !users.some((user) => user.id === currentUser.id) ? { isLoading: MultiAccountStore.getIsValidatingUsers(), multiAccountUsers: [{ id: currentUser.id, avatar: currentUser.avatar, username: currentUser.username, discriminator: currentUser.discriminator, tokenStatus: MultiAccountTokenStatus.VALID, pushSyncToken: null }, ...users] } : { isLoading: MultiAccountStore.getIsValidatingUsers(), multiAccountUsers: users }; }); useEffect(() => { Dispatcher.wait(() => { validateMultiAccountTokens(); }); }, []); return stateFromStoresObject; }