InheritedDitto constructor

InheritedDitto({
  1. required Widget child,
  2. required DittoConfigData config,
  3. Locale? defaultLocale,
  4. Widget? loadingWidget,
  5. bool onlyNetworkLabels = true,
  6. Widget errorBuilder(
    1. Object? error
    )?,
})

Implementation

factory InheritedDitto({
  required Widget child,
  required DittoConfigData config,
  Locale? defaultLocale,
  Widget? loadingWidget,
  bool onlyNetworkLabels = true,
  Widget Function(Object? error)? errorBuilder,
}) {
  final ditto = Ditto(config)
    ..initialize(
      defaultLocale: defaultLocale,
      onlyNetworkLabels: onlyNetworkLabels,
    );
  return InheritedDitto._(
    ditto: ditto,
    child: FutureBuilder<void>(
      future: ditto.isInitialized,
      builder: (context, snap) {
        if (snap.connectionState != ConnectionState.done &&
            loadingWidget != null) {
          return loadingWidget;
        }
        if (snap.hasError) {
          return errorBuilder?.call(snap.error) ?? Container();
        }
        return child;
      },
    ),
  );
}