buildListPreview function

Widget buildListPreview(
  1. ListState state,
  2. AnimationController? borderAnimationController
)

Build preview for List View component

Implementation

Widget buildListPreview(
  ListState state,
  AnimationController? borderAnimationController,
) {
  return Builder(
    builder: (context) {
      final isDark = Theme.of(context).brightness == Brightness.dark;

      Widget listView = NeumorphicListView(
        itemCount: state.listViewItemCount,
        width: state.listViewWidth,
        height: state.listViewHeight,
        // Pattern A Colors
        baseColor: state.listViewBaseColor,
        textColor: isDark ? const Color(0xFFE0E0E0) : const Color(0xFF424242),
        subtextColor: isDark ? const Color(0xFFBDBDBD) : const Color(0xFF757575),
        iconColor: isDark ? const Color(0xFF90CAF9) : const Color(0xFF1976D2),
        // Neumorphic Shadows
        distance: state.listViewDistance,
        blur: state.listViewBlur,
        borderRadius: state.listViewBorderRadius,
        itemSpacing: state.listViewItemSpacing,
      );

      if (state.listViewShowAnimatedBorder && borderAnimationController != null) {
        listView = AnimatedBuilder(
          animation: borderAnimationController,
          builder: (context, child) {
            return CustomPaint(
              painter: AnimatedBorderPainter(
                animation: borderAnimationController,
                color: state.listViewBorderColor,
                backgroundColor: state.listViewBaseColor,
                borderRadius: state.listViewBorderRadius,
                borderWidth: state.listViewBorderWidth,
              ),
              child: child,
            );
          },
          child: listView,
        );
      }

      return Center(child: listView);
    },
  );
}