Files
discord-decomp/modules/parent_tools/hooks/useSelectedTeenUser.tsx
T
2026-11-01 12:12:55 +02:00

34 lines
1.5 KiB
TypeScript

// Metro module 13924 (f13925).
import UserStore from "../../../stores/UserStore";
import FamilyCenterControlledSettingsStore from "../FamilyCenterControlledSettingsStore";
import FamilyCenterStore from "../FamilyCenterStore";
import useIsInAdultAgeGroup from "./useIsInAdultAgeGroup";
import { useStateFromStores, useStateFromStoresObject } from "../../../_bundle/defaultAreStatesEqual";
export function useSelectedTeenUser() {
let c20785_0 = useIsInAdultAgeGroup();
return useStateFromStores([FamilyCenterStore, UserStore], () => {
if (c20785_0 !== true) {
return UserStore.getCurrentUser();
}
const selectedTeenId2 = FamilyCenterStore.getSelectedTeenId();
return selectedTeenId2 !== null ? UserStore.getUser(selectedTeenId2) : void 0;
});
}
export function useTeenUserForId(c20786_0) {
return useStateFromStores([UserStore], () => {
const user = UserStore.getUser(c20786_0);
if (user != null) {
return user;
}
});
}
export function useShouldLoadSettingsForSelectedTeenUser() {
const selectedTeenId = FamilyCenterStore.getSelectedTeenId();
const stateFromStoresObject = useStateFromStoresObject([FamilyCenterControlledSettingsStore], () => ({
hasLoadedSettings: selectedTeenId != null && FamilyCenterControlledSettingsStore.hasSettingsForUser(selectedTeenId),
isLoading: FamilyCenterControlledSettingsStore.isLoading
}));
const { hasLoadedSettings, isLoading } = stateFromStoresObject;
return selectedTeenId !== null && (hasLoadedSettings ? !hasLoadedSettings : !isLoading);
}