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,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
