Fetch data again after reconnecting
This commit is contained in:
parent
886052fe65
commit
791ffb881d
2 changed files with 26 additions and 18 deletions
|
@ -17,7 +17,6 @@ export default function OnboardStartScreen() {
|
||||||
const { t, i18n } = useTranslation();
|
const { t, i18n } = useTranslation();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
useEffect( () => {
|
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
const response = await Request.post( 'sessions/get', { token: token } );
|
const response = await Request.post( 'sessions/get', { token: token } );
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
|
@ -34,6 +33,7 @@ export default function OnboardStartScreen() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect( () => {
|
||||||
if (!isLoading && token) {
|
if (!isLoading && token) {
|
||||||
fetchData();
|
fetchData();
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ export default function OnboardStartScreen() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ThemedView style={{ flex: 1 }}>
|
<ThemedView style={{ flex: 1 }}>
|
||||||
<NoInternetConnectionScreen/>
|
<NoInternetConnectionScreen onReconnect={fetchData}/>
|
||||||
<LoadingScreen message={t( "loading" ) + '...'}/>
|
<LoadingScreen message={t( "loading" ) + '...'}/>
|
||||||
</ThemedView>
|
</ThemedView>
|
||||||
)
|
)
|
||||||
|
|
|
@ -10,7 +10,11 @@ import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
const { width, height } = Dimensions.get( 'window' );
|
const { width, height } = Dimensions.get( 'window' );
|
||||||
|
|
||||||
const NoInternetConnectionScreen: React.FC = () => {
|
interface NoInternetConnectionScreenProps {
|
||||||
|
onReconnect?: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const NoInternetConnectionScreen: React.FC<NoInternetConnectionScreenProps> = ({ onReconnect }) => {
|
||||||
const colorScheme = useColorScheme() ?? 'light';
|
const colorScheme = useColorScheme() ?? 'light';
|
||||||
const [ isConnected, setIsConnected ] = useState<boolean | null>( null );
|
const [ isConnected, setIsConnected ] = useState<boolean | null>( null );
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
@ -31,6 +35,10 @@ const NoInternetConnectionScreen: React.FC = () => {
|
||||||
const retryConnection = () => {
|
const retryConnection = () => {
|
||||||
NetInfo.fetch().then( state => {
|
NetInfo.fetch().then( state => {
|
||||||
setIsConnected( state.isConnected );
|
setIsConnected( state.isConnected );
|
||||||
|
|
||||||
|
if (state.isConnected && onReconnect) {
|
||||||
|
onReconnect(); // Call the callback function when retry succeeds
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue