import 'package:flutter/material.dart'; import '../../../models/part.dart'; import '../../app_style/sizing.dart'; import '../buttons/app_icon_button2.dart'; class PartItem extends StatefulWidget { final Part? part; final Function(Part)? onDelete; const PartItem({Key? key, this.part, this.onDelete}) : super(key: key); @override _PartItemState createState() => _PartItemState(); } class _PartItemState extends State { @override Widget build(BuildContext context) { //final _subtitle = AppLocalization.of(context).subtitle; return Column( children: [ Divider(), Row( children: [ Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Expanded( child: Text( widget.part?.code ?? "", style: Theme.of(context).textTheme.bodyText1?.copyWith(fontSize: 12, fontWeight: FontWeight.bold), ), ), AIconButton2( iconData: Icons.add, color: Theme.of(context).primaryColor, onPressed: () { widget.part?.quantity++; setState(() {}); }, ), AIconButton2( iconData: Icons.remove, color: Theme.of(context).primaryColor, onPressed: widget.part!.quantity < 2 ? null : () { widget.part?.quantity--; setState(() {}); }, ), SizedBox( width: 8 * AppStyle.getScaleFactor(context), ), Text( widget.part?.quantity.toString() ?? "", style: Theme.of(context).textTheme.headline6?.copyWith( //fontSize: 12, //fontWeight: FontWeight.bold ), ), SizedBox( width: 8 * AppStyle.getScaleFactor(context), ), ], ), widget.part?.name == null ? SizedBox.shrink() : Text( widget.part?.name ?? "", style: Theme.of(context).textTheme.caption?.copyWith(fontSize: 11, fontWeight: FontWeight.bold), maxLines: 1, overflow: TextOverflow.ellipsis, ), ], )), AIconButton2( iconData: Icons.close, color: Colors.red, onPressed: () { widget.onDelete!(widget.part!); }, ), ], ), ], ); } }