123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* Copyright (C) Click & Push Accessibility, Inc - All Rights Reserved
- * Unauthorized copying of this file, via any medium is strictly prohibited
- * Proprietary and confidential
- * Written and maintained by the Click & Push Development team
- * <dev@clicknpush.ca>, January 2022
- */
- import { observer } from 'mobx-react';
- import React from 'react';
- import { QueryClient } from 'react-query';
- import { Loading } from './Loading';
- import { useAuth } from '../data/Auth/AuthContext';
- import BaseStackNavigator from '../navigation/BaseStackNavigator';
- import { Error } from './Error';
- import { navigationRef } from '../navigation/RootNavigator';
- import { usePermissions } from '../data/PermissionsContext';
- export enum TokenState {
- CheckingToken,
- ValidToken,
- InvalidToken
- }
- const queryClient = new QueryClient();
- /**
- * Sub-root component of the app. Contains all global providers (NavigationContainer and SafeAreaProvider for React Navigation, QueryClientProvider for react-query) and is responsible for restricting unauthenticated users to the Intro screen by listening to {@link AuthStore}'s accessToken value.
- * @component
- */
- const Atlas : React.FC = () => {
- const {authStateLoading} = useAuth()
- const {permissionsLoading} = usePermissions()
- // useEffect(() => {
- // let isMounted = true
- // const checkAuthStateOnAccessTokenUpdate = async () => {
- // let accessToken = authStore.accessToken
- // if (!accessToken) {
- // accessToken = await getItemAsync(SECURESTORE_ACCESSTOKEN)
- // }
- // if (accessToken)
- // await checkAuthenticationState({})
- // }
-
- // if (isMounted)
- // checkAuthStateOnAccessTokenUpdate()
- // return () => { isMounted = false }
- // }, [])
- return (
- <>
- {authStateLoading || permissionsLoading ? <Loading/> : <BaseStackNavigator />}
- </>
- );
- }
- export default observer(Atlas);
|