Add no internet screen
This commit is contained in:
parent
a12769f3f5
commit
886052fe65
9 changed files with 296 additions and 139 deletions
|
@ -4,33 +4,28 @@ import { useTranslation } from 'react-i18next';
|
|||
|
||||
import '@/src/localization/i18n';
|
||||
|
||||
import { ThemedText } from '@/src/components/themed/ThemedText';
|
||||
import { ThemedView } from '@/src/components/themed/ThemedView';
|
||||
import { useToken } from '@/src/context/AppProvider';
|
||||
import { Request } from '@/src/services/request';
|
||||
import { store } from '@/src/store/store';
|
||||
import { setSession } from '@/src/store/dataStore';
|
||||
import NoInternetConnectionScreen from '@/src/components/NoInternet';
|
||||
import LoadingScreen from '@/src/components/LoadingScreen';
|
||||
|
||||
export default function OnboardStartScreen() {
|
||||
const { token, isLoading } = useToken();
|
||||
const { i18n } = useTranslation();
|
||||
const { t, i18n } = useTranslation();
|
||||
const router = useRouter();
|
||||
|
||||
const loadingScreen = () => (
|
||||
<ThemedView>
|
||||
<ThemedText>Loading...</ThemedText>
|
||||
</ThemedView>
|
||||
);
|
||||
|
||||
useEffect( () => {
|
||||
const fetchData = async () => {
|
||||
const response = await Request.post( 'sessions/get', { token: token } );
|
||||
if (response.success) {
|
||||
// Save to store
|
||||
store.dispatch(setSession(response.session))
|
||||
store.dispatch( setSession( response.session ) )
|
||||
|
||||
// Set language
|
||||
i18n.changeLanguage(response.session.language);
|
||||
i18n.changeLanguage( response.session.language );
|
||||
|
||||
// @ts-ignore
|
||||
router.replace( '/(tabs)' );
|
||||
|
@ -44,13 +39,14 @@ export default function OnboardStartScreen() {
|
|||
}
|
||||
}, [ isLoading, token, router ] );
|
||||
|
||||
if (isLoading) {
|
||||
return loadingScreen();
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
if (!isLoading && !token) {
|
||||
return <Redirect href="/(onboarding)/start"/>;
|
||||
}
|
||||
|
||||
return loadingScreen();
|
||||
return (
|
||||
<ThemedView style={{ flex: 1 }}>
|
||||
<NoInternetConnectionScreen/>
|
||||
<LoadingScreen message={t( "loading" ) + '...'}/>
|
||||
</ThemedView>
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue