in src/Welcome.tsx [100:156]
await handleUpdate(
true,
storage.skipVersion,
breakingUpdateDetails.latestVersion,
breakingUpdateDetails.storeUrl,
save,
);
}
} catch (e) {}
}, [read, save]);
useEffect(() => {
setInitialized(initialized);
}, [initialized, setInitialized]);
// init authentication
useEffect(() => {
initDefaults();
}, [initDefaults]);
return (
<View style={style.container}>
{mode === ThemeMode.DARK ? (
<LogoDark width={100} height={100} style={style.logo} />
) : (
<LogoLight width={100} height={100} style={style.logo} />
)}
<Name style={style.name}>{title}</Name>
<CircleSnail
style={style.spinner}
size={Math.floor(screen.width / 8)}
indeterminate={true}
thickness={3}
color={theme.textColor}
spinDuration={1000}
duration={1000}
/>
</View>
);
}
function handleUpdate(
mandatory: boolean,
skipVersion: string | null,
availableVersion: string,
url: string,
save: any,
) {
return new Promise<boolean>(resolve => {
if (skipVersion && skipVersion === availableVersion) {
return resolve(true);
}
if (mandatory) {
Alert.alert(
Strings.Update.Mandatory.Title,
resolveString(Strings.Update.Mandatory.Text, Strings.Title),
[
{