import 'package:flutter/material.dart'; class ProductCard extends StatelessWidget { final Image imagePath; final String name; final String price; final VoidCallback onTap; const ProductCard({ super.key, required this.imagePath, required this.name, required this.price, required this.onTap, }); double getCardHeight({required BuildContext context}) { if (MediaQuery.of(context).size.width > 600) { return 200; } return 100; } @override Widget build(BuildContext context) { return GestureDetector( onTap: onTap, child: ConstrainedBox( constraints: BoxConstraints( minHeight: 80, maxHeight: getCardHeight(context: context)), child: Card( elevation: 3, color: Theme.of(context).scaffoldBackgroundColor, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), ), child: Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.min, children: [ imagePath, const SizedBox(height: 16), Text( name, style: Theme.of(context).textTheme.titleLarge, ), const SizedBox(height: 8), Text( '\$$price', style: Theme.of(context).textTheme.titleSmall, ), ], ), ), ), ); } }