import 'package:flutter/material.dart';

import '../../../model/car.dart';
import 'car_dialog.dart';

class CarCard extends StatelessWidget {
  final Car car;
  final Function(Car car) onDelete;
  final Function(Car car, String newName) onEdit;

  const CarCard({
    super.key,
    required this.car,
    required this.onEdit,
    required this.onDelete,
  });

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: const EdgeInsets.all(10),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Row(
              children: [
                Padding(
                  padding: const EdgeInsets.only(left: 10),
                  child: Icon(
                    Icons.local_shipping,
                    size: 32,
                    color: Theme.of(context).primaryColor,
                  ),
                ),
                Padding(
                  padding: const EdgeInsets.only(left: 10),
                  child: Text(car.plate),
                ),
              ],
            ),

            Row(
              children: [
                IconButton(
                  onPressed: () {
                    showDialog(
                      context: context,
                      builder: (context) {
                        return CarDialog(
                          onAction: (plate) {
                            onEdit(car, plate);
                          },
                          action: CarAction.edit,
                          initialPlateValue: car.plate,
                        );
                      },
                    );
                  },
                  icon: Icon(Icons.edit, color: Theme.of(context).primaryColor),
                ),
                IconButton(
                  onPressed: () {
                    onDelete(car);
                  },
                  icon: const Icon(Icons.delete, color: Colors.redAccent),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
