addItem static method

dynamic addItem(
  1. Configuration _configuration,
  2. OnboardItemsRF item
)

Implementation

static addItem(
  Configuration _configuration,
  OnboardItemsRF item,
) {
  TemplateRF? clientTemplate = _configuration.app.template;
  if (_configuration.app.onboard is AppOnboardRF) {
    // need recheck
    switch (item) {
      case OnboardItemsRF.splash:
        return onboardWidget(_configuration.app.onboard.splash) ??
            StoreRF.onboard.splash(_configuration, template: clientTemplate);
      case OnboardItemsRF.language:
        return !(_configuration.app.onboard.language is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.language) ??
                StoreRF.onboard
                    .language(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.intro:
        return !(_configuration.app.onboard.intro is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.intro)
            : null;
      case OnboardItemsRF.login:
        return !(_configuration.app.onboard.login is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.login) ??
                StoreRF.onboard
                    .login(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.otp:
        return !(_configuration.app.onboard.otp is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.otp) ??
                StoreRF.onboard.otp(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.setup:
        return !(_configuration.app.onboard.initialSetup is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.initialSetup) ??
                StoreRF.onboard
                    .setup(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.home:
        assert(_configuration.app.onboard.home != null,
            'AppOnboardRF requires Home');
        return _configuration.app.onboard.home;
    }
  } else {
    switch (item) {
      case OnboardItemsRF.splash:
        return onboardWidget(
                _configuration.app.onboard.customOnboard().splash) ??
            StoreRF.onboard.splash(_configuration, template: clientTemplate);
      case OnboardItemsRF.language:
        return !(_configuration.app.onboard.customOnboard().language
                is EmptyRF)
            ? onboardWidget(
                    _configuration.app.onboard.customOnboard().language) ??
                StoreRF.onboard
                    .language(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.intro:
        return !(_configuration.app.onboard.customOnboard().intro is EmptyRF)
            ? onboardWidget(_configuration.app.onboard.customOnboard().intro)
            : null;
      case OnboardItemsRF.login:
        return !(_configuration.app.onboard.customOnboard().login is EmptyRF)
            ? onboardWidget(
                    _configuration.app.onboard.customOnboard().login) ??
                StoreRF.onboard
                    .login(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.otp:
        return !(_configuration.app.onboard.customOnboard().otp is EmptyRF)
            ? (onboardWidget(
                    _configuration.app.onboard.customOnboard().otp) ??
                StoreRF.onboard.otp(_configuration, template: clientTemplate))
            : null;
      case OnboardItemsRF.setup:
        return !(_configuration.app.onboard.customOnboard().initialSetup
                is EmptyRF)
            ? onboardWidget(_configuration.app.onboard
                    .customOnboard()
                    .initialSetup) ??
                StoreRF.onboard
                    .setup(_configuration, template: clientTemplate)
            : null;
      case OnboardItemsRF.home:
        assert(_configuration.app.onboard.customOnboard().home != null,
            'AppOnboardRF requires Home');
        return _configuration.app.onboard.customOnboard().home;
    }
  }
}