import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart';
import 'package:fcs/pages/widgets/bottom_up_page_route.dart';
import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart';
import 'package:provider/provider.dart';

import 'package:flutter/material.dart';

import 'fcs_shipment_editor.dart';
import 'fcs_shipment_list_row.dart';

class FcsShipmentList extends StatefulWidget {
  @override
  _FcsShipmentListState createState() => _FcsShipmentListState();
}

class _FcsShipmentListState extends State<FcsShipmentList> {
  bool _isLoading = false;

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    var shipmentModel = Provider.of<FcsShipmentModel>(context);

    return LocalProgress(
        inAsyncCall: _isLoading,
        child: Scaffold(
            appBar: AppBar(
              centerTitle: true,
              leading: new IconButton(
                icon: new Icon(CupertinoIcons.back),
                onPressed: () => Navigator.of(context).pop(),
              ),
              backgroundColor: primaryColor,
              title: LocalText(context, 'FCSshipment.list.title',
                  color: Colors.white, fontSize: 20),
            ),
            floatingActionButton: FloatingActionButton.extended(
              onPressed: () {
                _newShipment();
              },
              icon: Icon(Icons.add),
              label: LocalText(context, "FCSshipment.add", color: Colors.white),
              backgroundColor: primaryColor,
            ),
            body: Column(
              children: <Widget>[
                Expanded(
                  child: new ListView.separated(
                      separatorBuilder: (context, index) => Divider(
                            color: Colors.black,
                          ),
                      scrollDirection: Axis.vertical,
                      padding: EdgeInsets.only(top: 15),
                      shrinkWrap: true,
                      itemCount: shipmentModel.fcsShipments.length,
                      itemBuilder: (BuildContext context, int index) {
                        return FcsShipmentListRow(
                            key: ValueKey(shipmentModel.fcsShipments[index].id),
                            shipment: shipmentModel.fcsShipments[index]);
                      }),
                ),
              ],
            )));
  }

  _newShipment() {
    Navigator.of(context).push(BottomUpPageRoute(FcsShipmentEditor()));
  }
}
