commonBuild method

dynamic commonBuild(
  1. BuildContext context,
  2. BaseParam? baseParam
)
inherited

Implementation

dynamic commonBuild(BuildContext context, BaseParam? baseParam) {
  beforeBuild(context);
  final WidgetBuildMode _widgetBuildMode = getBuildMode(baseParam);
  dynamic _dynamic;
  switch (_widgetBuildMode) {
    case WidgetBuildMode.cupertino:
    case WidgetBuildMode.forceUseCupertino:
      // Check if native iOS implementation is enabled
      final bool useNativeIOS = baseParam?.nativeIOS ?? false;
      if (useNativeIOS) {
        beforeBuildByCupertinoNative(context);
        _dynamic = buildByCupertinoNative(context);
      } else {
        beforeBuildByCupertino(context);
        _dynamic = buildByCupertino(context);
      }
      break;
    case WidgetBuildMode.material:
      beforeBuildByMaterial(context);
      _dynamic = buildByMaterial(context);
      break;
    case WidgetBuildMode.forceUseMaterial:
      // Default: wrap with an additional Material layer
      beforeBuildByMaterial(context);
      // Whether to disable ripple effect
      final bool _withoutSplashOnCupertino = baseParam?.withoutSplashOnCupertino ?? withoutSplashOnCupertino;
      if (_withoutSplashOnCupertino) {
        _dynamic = BaseMaterialWidget.withoutSplash(
          theme: BaseTheme.of(context).materialTheme ?? Theme.of(context),
          child: buildByMaterial(context),
        );
      } else {
        _dynamic = BaseMaterialWidget(child: buildByMaterial(context));
      }
      break;
    case WidgetBuildMode.disabled:
      _dynamic = Container();
      break;
  }
  return _dynamic;
}