function handleUpdate()

in src/Welcome.tsx [140:193]


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),
        [
          {
            text: Strings.Update.Mandatory.Confirm,
            onPress: async () => {
              await Linking.openURL(url);
            },
          },
        ],
        {cancelable: false},
      );
    } else {
      Alert.alert(
        Strings.Update.Optional.Title,
        resolveString(Strings.Update.Optional.Text, Strings.Title),
        [
          {
            text: Strings.Update.Optional.Skip,
            onPress: async () => {
              await save({skipVersion: availableVersion});
              resolve(true);
            },
          },
          {
            text: Strings.Update.Optional.Cancel,
            onPress: () => resolve(false),
          },
          {
            text: Strings.Update.Optional.Confirm,
            onPress: async () => {
              await Linking.openURL(url);
              resolve(true);
            },
          },
        ],
        {cancelable: false},
      );
    }
  });
}