import 'package:fcs/domain/entities/carton.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter_vector_icons/flutter_vector_icons.dart';

import 'carton_search.dart';

class CartonListRow extends StatelessWidget {
  final CallbackCartonSelect? callbackCartonSelect;
  final Carton carton;

  // const CartonListRow({this.carton, this.callbackCartonSelect});
  CartonListRow({Key? key, required this.carton, this.callbackCartonSelect})
      : super(key: key);

  final double dotSize = 15.0;

  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
        border: Border(
          bottom: BorderSide(color: Colors.grey.shade300),
        ),
      ),
      child: InkWell(
        onTap: () {
          Navigator.pop(context);
          if (callbackCartonSelect != null) callbackCartonSelect!(carton);
        },
        child: Row(
          children: <Widget>[
            Expanded(
              child: new Padding(
                padding: const EdgeInsets.symmetric(vertical: 13.0),
                child: new Row(
                  children: <Widget>[
                    new Padding(
                      padding: new EdgeInsets.symmetric(
                          horizontal: 25.0 - dotSize / 2),
                      child: Icon(
                        MaterialCommunityIcons.package,
                        color: primaryColor,
                        size: 30,
                      ),
                    ),
                    new Expanded(
                      child: new Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: <Widget>[
                          Padding(
                            padding: const EdgeInsets.only(left: 8.0),
                            child: new Text(
                              carton.cartonNumber ?? "",
                              style: new TextStyle(
                                  fontSize: 15.0, color: Colors.black),
                            ),
                          ),
                          Padding(
                            padding: const EdgeInsets.only(left: 10.0, top: 10),
                            child: new Text(
                              carton.userName ?? "",
                              style: new TextStyle(
                                  fontSize: 15.0, color: Colors.grey),
                            ),
                          )
                        ],
                      ),
                    ),
                    Padding(
                      padding: const EdgeInsets.only(
                          left: 8.0, bottom: 5, right: 10),
                      child: Row(
                        children: <Widget>[
                          new Text(
                            "${carton.cartonWeight?.toStringAsFixed(2)} lb",
                            style: new TextStyle(
                                fontSize: 15.0, color: Colors.grey),
                          ),
                        ],
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
