buildCardContent static method

Widget buildCardContent({
  1. Widget? child,
  2. EdgeInsetsGeometry? padding,
  3. String? title,
  4. double? titleFontSize,
  5. FontWeight? titleFontWeight,
  6. Color? titleColor,
  7. String? titleFontFamily,
  8. ContentAlignment titleAlignment = ContentAlignment.left,
  9. int? titleMaxLines,
  10. TextOverflow? titleOverflow,
  11. String? description,
  12. double? descriptionFontSize,
  13. FontWeight? descriptionFontWeight,
  14. Color? descriptionColor,
  15. String? descriptionFontFamily,
  16. ContentAlignment descriptionAlignment = ContentAlignment.left,
  17. int? descriptionMaxLines,
  18. TextOverflow? descriptionOverflow,
  19. double? rating,
  20. int maxRating = 5,
  21. double ratingStarSize = 16.0,
  22. Color? ratingFilledColor,
  23. Color? ratingEmptyColor,
  24. bool showRatingNumber = true,
  25. String? customRatingText,
  26. ValueChanged<double>? onRatingChanged,
  27. List<String>? chips,
  28. ContentChipPosition chipPosition = ContentChipPosition.afterTitle,
  29. Color? chipBackgroundColor,
  30. Color? chipTextColor,
  31. double? chipFontSize,
  32. FontWeight? chipFontWeight,
  33. double? chipBorderRadius,
  34. VoidCallback? onChipTap,
  35. List<ContentChip>? customChips,
  36. List<MetricItem>? metrics,
  37. int metricsColumns = 3,
  38. double metricsSpacing = 16.0,
  39. bool showMetricsDividers = false,
  40. Color? metricsBackgroundColor,
  41. List<IconTextPair>? iconTextPairs,
  42. String? price,
  43. double? priceFontSize,
  44. FontWeight? priceFontWeight,
  45. Color? priceColor,
  46. ContentAlignment priceAlignment = ContentAlignment.left,
  47. double contentSpacing = 8.0,
  48. dynamic cardImage,
  49. ImagePosition imagePosition = ImagePosition.top,
  50. ImageRatio imageRatio = ImageRatio.half,
  51. double? customImageWidth,
  52. double? customImageHeight,
  53. double? imageBorderRadius,
  54. BoxFit imageFit = BoxFit.cover,
  55. bool showLikeIcon = false,
  56. OverlayPosition likeIconPosition = OverlayPosition.topRight,
  57. IconData likeIcon = Icons.favorite,
  58. Color? likeIconColor,
  59. double likeIconSize = 24.0,
  60. bool isLiked = false,
  61. VoidCallback? onLikeTap,
  62. bool showBookmarkIcon = false,
  63. OverlayPosition bookmarkIconPosition = OverlayPosition.topLeft,
  64. IconData bookmarkIcon = Icons.bookmark,
  65. Color? bookmarkIconColor,
  66. double bookmarkIconSize = 24.0,
  67. bool isBookmarked = false,
  68. VoidCallback? onBookmarkTap,
  69. List<StatusChip>? statusChips,
})

Implementation

static Widget buildCardContent({
  Widget? child,
  EdgeInsetsGeometry? padding,

  String? title,
  double? titleFontSize,
  FontWeight? titleFontWeight,
  Color? titleColor,
  String? titleFontFamily,
  ContentAlignment titleAlignment = ContentAlignment.left,
  int? titleMaxLines,
  TextOverflow? titleOverflow,

  String? description,
  double? descriptionFontSize,
  FontWeight? descriptionFontWeight,
  Color? descriptionColor,
  String? descriptionFontFamily,
  ContentAlignment descriptionAlignment = ContentAlignment.left,
  int? descriptionMaxLines,
  TextOverflow? descriptionOverflow,

  double? rating,
  int maxRating = 5,
  double ratingStarSize = 16.0,
  Color? ratingFilledColor,
  Color? ratingEmptyColor,
  bool showRatingNumber = true,
  String? customRatingText,
  ValueChanged<double>? onRatingChanged,

  List<String>? chips,
  ContentChipPosition chipPosition = ContentChipPosition.afterTitle,
  Color? chipBackgroundColor,
  Color? chipTextColor,
  double? chipFontSize,
  FontWeight? chipFontWeight,
  double? chipBorderRadius,
  VoidCallback? onChipTap,
  List<ContentChip>? customChips,

  List<MetricItem>? metrics,
  int metricsColumns = 3,
  double metricsSpacing = 16.0,
  bool showMetricsDividers = false,
  Color? metricsBackgroundColor,

  List<IconTextPair>? iconTextPairs,

  String? price,
  double? priceFontSize,
  FontWeight? priceFontWeight,
  Color? priceColor,
  ContentAlignment priceAlignment = ContentAlignment.left,

  double contentSpacing = 8.0,

  dynamic cardImage,
  ImagePosition imagePosition = ImagePosition.top,
  ImageRatio imageRatio = ImageRatio.half,
  double? customImageWidth,
  double? customImageHeight,
  double? imageBorderRadius,
  BoxFit imageFit = BoxFit.cover,

  bool showLikeIcon = false,
  OverlayPosition likeIconPosition = OverlayPosition.topRight,
  IconData likeIcon = Icons.favorite,
  Color? likeIconColor,
  double likeIconSize = 24.0,
  bool isLiked = false,
  VoidCallback? onLikeTap,

  bool showBookmarkIcon = false,
  OverlayPosition bookmarkIconPosition = OverlayPosition.topLeft,
  IconData bookmarkIcon = Icons.bookmark,
  Color? bookmarkIconColor,
  double bookmarkIconSize = 24.0,
  bool isBookmarked = false,
  VoidCallback? onBookmarkTap,

  List<StatusChip>? statusChips,
}) {
  Widget contentWidget;

  if (child != null) {
    contentWidget = child;
  } else {
    contentWidget = _buildStructuredContentPlaceholder();
  }

  return buildLayoutWithImage(
    contentWidget: contentWidget,
    padding: padding,
    cardImage: cardImage,
    imagePosition: imagePosition,
    imageRatio: imageRatio,
    customImageWidth: customImageWidth,
    customImageHeight: customImageHeight,
    imageBorderRadius: imageBorderRadius,
    imageFit: imageFit,
    showLikeIcon: showLikeIcon,
    likeIconPosition: likeIconPosition,
    likeIcon: likeIcon,
    likeIconColor: likeIconColor,
    likeIconSize: likeIconSize,
    isLiked: isLiked,
    onLikeTap: onLikeTap,
    showBookmarkIcon: showBookmarkIcon,
    bookmarkIconPosition: bookmarkIconPosition,
    bookmarkIcon: bookmarkIcon,
    bookmarkIconColor: bookmarkIconColor,
    bookmarkIconSize: bookmarkIconSize,
    isBookmarked: isBookmarked,
    onBookmarkTap: onBookmarkTap,
    statusChips: statusChips,
  );
}