item<T> static method

Widget item<T>({
  1. required FutureProvider<T> provider,
  2. required Widget builder(
    1. T item,
    2. WidgetRef ref
    ),
  3. Widget? loading,
  4. Widget error(
    1. Object error,
    2. StackTrace? stackTrace
    )?,
  5. EdgeInsets? padding,
  6. ScrollPhysics? physics,
  7. VoidCallback? onRetry,
  8. Future<void> onRefresh()?,
})

Creates a refreshable single item widget

Perfect for displaying a single item (like user profile, product details) with pull-to-refresh functionality.

Implementation

static Widget item<T>({
  required FutureProvider<T> provider,
  required Widget Function(T item, WidgetRef ref) builder,

  // Customization
  Widget? loading,
  Widget Function(Object error, StackTrace? stackTrace)? error,
  EdgeInsets? padding,
  ScrollPhysics? physics,

  // Callbacks
  VoidCallback? onRetry,
  Future<void> Function()? onRefresh,
}) {
  return _StateWidget<T>(
    provider: provider,
    onRefresh: onRefresh,
    onRetry: onRetry,
    loading: loading,
    error: error,
    builder: (item, ref) {
      return SingleChildScrollView(
        padding: padding,
        physics: physics ?? const AlwaysScrollableScrollPhysics(),
        child: builder(item, ref),
      );
    },
  );
}