submit method

Future submit(
  1. GlobalKey<FormState> formKey,
  2. ApiBase apiBase,
  3. VoidCallback callback,
  4. void userIdSetter(
    1. String userId
    )
)

Implementation

Future submit(GlobalKey<FormState> formKey, ApiBase apiBase,
    VoidCallback callback, void Function(String userId) userIdSetter) async {
  if (!formKey.currentState!.validate()) return;
  formKey.currentState!.save();
  try {
    if (isLogin) {
      _handleLogin(apiBase, callback, userIdSetter);
      return;
    }
    return apiBase.createUser(username, email, password).then((result) {
      if (result.isLeft) {
        // TODO: change message based on status
        errorString =
            "login.creationError".i18n();
        return;
      }
      _handleLogin(apiBase, callback, userIdSetter);
    });
  } catch (error) {
    log(error.toString());
    errorString = "login.genericError".i18n();
  }
}