34 lines
1.5 KiB
TypeScript
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);
|
|
}
|