mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 21:35:42 +00:00 
			
		
		
		
	Change from fontawesome to tabler icons (#516)
* Change from fontawesome to tabler icons - Consistent with the frontend * Cleanup conflicts * Use double quotes * remove unused import * Update release notes * Migrate some google icons to tabler icons * Icon update * Properly support display of custom icons * Fix lookup
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
|  | ||||
| import "package:inventree/api_form.dart"; | ||||
| import "package:inventree/app_colors.dart"; | ||||
| @@ -48,7 +48,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|     if (widget.item.canEdit) { | ||||
|       actions.add( | ||||
|         IconButton( | ||||
|           icon: Icon(Icons.edit_square), | ||||
|           icon: Icon(TablerIcons.edit), | ||||
|           onPressed: () { | ||||
|             _editLineItem(context); | ||||
|           }, | ||||
| @@ -68,7 +68,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|       if (!widget.item.isComplete) { | ||||
|         buttons.add( | ||||
|           SpeedDialChild( | ||||
|             child: FaIcon(FontAwesomeIcons.rightToBracket, color: Colors.blue), | ||||
|             child: Icon(TablerIcons.transition_right, color: Colors.blue), | ||||
|             label: L10().receiveItem, | ||||
|             onTap: () async { | ||||
|               receiveLineItem(context); | ||||
| @@ -146,7 +146,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|       order.receive_url, | ||||
|       fields, | ||||
|       method: "POST", | ||||
|       icon: FontAwesomeIcons.rightToBracket, | ||||
|       icon: TablerIcons.transition_right, | ||||
|       onSuccess: (data) async { | ||||
|         showSnackIcon(L10().receivedItem, success: true); | ||||
|         refresh(context); | ||||
| @@ -167,7 +167,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|       ListTile( | ||||
|         title: Text(L10().internalPart), | ||||
|         subtitle: Text(widget.item.partName), | ||||
|         leading: FaIcon(FontAwesomeIcons.shapes, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.box, color: COLOR_ACTION), | ||||
|         trailing: api.getThumbnail(widget.item.partImage), | ||||
|         onTap: () async { | ||||
|           showLoadingOverlay(context); | ||||
| @@ -186,7 +186,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|       ListTile( | ||||
|         title: Text(L10().supplierPart), | ||||
|         subtitle: Text(widget.item.SKU), | ||||
|         leading: FaIcon(FontAwesomeIcons.building, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.building, color: COLOR_ACTION), | ||||
|         onTap: () async { | ||||
|           showLoadingOverlay(context); | ||||
|           var part = await InvenTreeSupplierPart().get(widget.item.supplierPartId); | ||||
| @@ -210,7 +210,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|                 color: widget.item.isComplete ? COLOR_SUCCESS: COLOR_WARNING | ||||
|             ) | ||||
|         ), | ||||
|         leading: FaIcon(FontAwesomeIcons.boxOpen), | ||||
|         leading: Icon(TablerIcons.progress), | ||||
|       ) | ||||
|     ); | ||||
|  | ||||
| @@ -220,7 +220,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|           ListTile( | ||||
|             title: Text(L10().reference), | ||||
|             subtitle: Text(widget.item.reference), | ||||
|             leading: FaIcon(FontAwesomeIcons.hashtag), | ||||
|             leading: Icon(TablerIcons.hash), | ||||
|           ) | ||||
|       ); | ||||
|     } | ||||
| @@ -229,7 +229,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|     tiles.add( | ||||
|       ListTile( | ||||
|         title: Text(L10().unitPrice), | ||||
|         leading: FaIcon(FontAwesomeIcons.dollarSign), | ||||
|         leading: Icon(TablerIcons.currency_dollar), | ||||
|         trailing: Text( | ||||
|           renderCurrency(widget.item.purchasePrice, widget.item.purchasePriceCurrency) | ||||
|         ), | ||||
| @@ -242,7 +242,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|         ListTile( | ||||
|           title: Text(L10().notes), | ||||
|           subtitle: Text(widget.item.notes), | ||||
|           leading: FaIcon(FontAwesomeIcons.noteSticky), | ||||
|           leading: Icon(TablerIcons.note), | ||||
|         ) | ||||
|       ); | ||||
|     } | ||||
| @@ -253,7 +253,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | ||||
|         ListTile( | ||||
|           title: Text(L10().link), | ||||
|           subtitle: Text(widget.item.link), | ||||
|           leading: FaIcon(FontAwesomeIcons.link, color: COLOR_ACTION), | ||||
|           leading: Icon(TablerIcons.link, color: COLOR_ACTION), | ||||
|           onTap: () async { | ||||
|             await openLink(widget.item.link); | ||||
|           }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
| import "package:inventree/widget/dialogs.dart"; | ||||
| import "package:inventree/widget/order/po_line_list.dart"; | ||||
|  | ||||
| @@ -57,7 +57,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|     if (widget.order.canEdit) { | ||||
|       actions.add( | ||||
|         IconButton( | ||||
|           icon: Icon(Icons.edit_square), | ||||
|           icon: Icon(TablerIcons.edit), | ||||
|           tooltip: L10().purchaseOrderEdit, | ||||
|           onPressed: () { | ||||
|             editOrder(context); | ||||
| @@ -78,7 +78,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|  | ||||
|         actions.add( | ||||
|           SpeedDialChild( | ||||
|             child: FaIcon(FontAwesomeIcons.circlePlus, color: Colors.green), | ||||
|             child: Icon(TablerIcons.circle_plus, color: Colors.green), | ||||
|             label: L10().lineItemAdd, | ||||
|             onTap: () async { | ||||
|               _addLineItem(context); | ||||
| @@ -88,7 +88,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|  | ||||
|         actions.add( | ||||
|           SpeedDialChild( | ||||
|             child: FaIcon(FontAwesomeIcons.paperPlane, color: Colors.blue), | ||||
|             child: Icon(TablerIcons.send, color: Colors.blue), | ||||
|             label: L10().issueOrder, | ||||
|             onTap: () async { | ||||
|               _issueOrder(context); | ||||
| @@ -100,7 +100,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       if (widget.order.isOpen) { | ||||
|         actions.add( | ||||
|           SpeedDialChild( | ||||
|             child: FaIcon(FontAwesomeIcons.circleXmark, color: Colors.red), | ||||
|             child: Icon(TablerIcons.circle_x, color: Colors.red), | ||||
|             label: L10().cancelOrder, | ||||
|             onTap: () async { | ||||
|               _cancelOrder(context); | ||||
| @@ -142,7 +142,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|  | ||||
|     confirmationDialog( | ||||
|       L10().issueOrder, "", | ||||
|       icon: FontAwesomeIcons.paperPlane, | ||||
|       icon: TablerIcons.send, | ||||
|       color: Colors.blue, | ||||
|       acceptText: L10().issue, | ||||
|       onAccept: () async { | ||||
| @@ -158,7 +158,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|  | ||||
|     confirmationDialog( | ||||
|       L10().cancelOrder, "", | ||||
|       icon: FontAwesomeIcons.circleXmark, | ||||
|       icon: TablerIcons.circle_x, | ||||
|       color: Colors.red, | ||||
|       acceptText: L10().cancel, | ||||
|       onAccept: () async { | ||||
| @@ -193,7 +193,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|     if (widget.order.isPending && api.supportsBarcodePOAddLineEndpoint) { | ||||
|       actions.add( | ||||
|         SpeedDialChild( | ||||
|           child: FaIcon(FontAwesomeIcons.circlePlus, color: COLOR_SUCCESS), | ||||
|           child: Icon(TablerIcons.circle_plus, color: COLOR_SUCCESS), | ||||
|           label: L10().lineItemAdd, | ||||
|           onTap: () async { | ||||
|             scanBarcode( | ||||
| @@ -296,7 +296,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().projectCode), | ||||
|         subtitle: Text("${widget.order.projectCode} - ${widget.order.projectCodeDescription}"), | ||||
|         leading: FaIcon(FontAwesomeIcons.list), | ||||
|         leading: Icon(TablerIcons.list), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -304,7 +304,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().supplier), | ||||
|         subtitle: Text(supplier.name), | ||||
|         leading: FaIcon(FontAwesomeIcons.building, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.building, color: COLOR_ACTION), | ||||
|         onTap: () { | ||||
|           Navigator.push( | ||||
|             context, | ||||
| @@ -320,7 +320,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().supplierReference), | ||||
|         subtitle: Text(widget.order.supplierReference), | ||||
|         leading: FaIcon(FontAwesomeIcons.hashtag), | ||||
|         leading: Icon(TablerIcons.hash), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -332,13 +332,13 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|         completedLines.toDouble(), | ||||
|         maximum: widget.order.lineItemCount.toDouble(), | ||||
|       ), | ||||
|       leading: FaIcon(FontAwesomeIcons.clipboardCheck), | ||||
|       leading: Icon(TablerIcons.clipboard_check), | ||||
|       trailing: Text("${completedLines} /  ${widget.order.lineItemCount}", style: TextStyle(color: lineColor)), | ||||
|     )); | ||||
|  | ||||
|     tiles.add(ListTile( | ||||
|       title: Text(L10().totalPrice), | ||||
|       leading: FaIcon(FontAwesomeIcons.dollarSign), | ||||
|       leading: Icon(TablerIcons.currency_dollar), | ||||
|       trailing: Text( | ||||
|         renderCurrency(widget.order.totalPrice, widget.order.totalPriceCurrency) | ||||
|       ), | ||||
| @@ -348,7 +348,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().issueDate), | ||||
|         subtitle: Text(widget.order.issueDate), | ||||
|         leading: FaIcon(FontAwesomeIcons.calendarDays), | ||||
|         leading: Icon(TablerIcons.calendar), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -356,7 +356,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().targetDate), | ||||
|         subtitle: Text(widget.order.targetDate), | ||||
|         leading: FaIcon(FontAwesomeIcons.calendarDays), | ||||
|         leading: Icon(TablerIcons.calendar), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -364,7 +364,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|     tiles.add( | ||||
|         ListTile( | ||||
|           title: Text(L10().notes), | ||||
|           leading: FaIcon(FontAwesomeIcons.noteSticky, color: COLOR_ACTION), | ||||
|           leading: Icon(TablerIcons.note, color: COLOR_ACTION), | ||||
|           onTap: () { | ||||
|             Navigator.push( | ||||
|               context, | ||||
| @@ -380,7 +380,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | ||||
|     tiles.add( | ||||
|         ListTile( | ||||
|           title: Text(L10().attachments), | ||||
|           leading: FaIcon(FontAwesomeIcons.fileLines, color: COLOR_ACTION), | ||||
|           leading: Icon(TablerIcons.file, color: COLOR_ACTION), | ||||
|           trailing: attachmentCount > 0 ? Text(attachmentCount.toString()) : null, | ||||
|           onTap: () { | ||||
|             Navigator.push( | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
|  | ||||
| import "package:inventree/inventree/company.dart"; | ||||
| import "package:inventree/inventree/model.dart"; | ||||
| @@ -41,7 +41,7 @@ class _PurchaseOrderListWidgetState extends RefreshableState<PurchaseOrderListWi | ||||
|     if (InvenTreePurchaseOrder().canCreate) { | ||||
|       actions.add( | ||||
|         SpeedDialChild( | ||||
|           child: FaIcon(FontAwesomeIcons.circlePlus), | ||||
|           child: Icon(TablerIcons.circle_plus), | ||||
|           label: L10().purchaseOrderCreate, | ||||
|           onTap: () { | ||||
|             _createPurchaseOrder(context); | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
|  | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
| import "package:inventree/barcode/barcode.dart"; | ||||
| import "package:inventree/barcode/sales_order.dart"; | ||||
| import "package:inventree/inventree/company.dart"; | ||||
| @@ -53,7 +53,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     if (widget.order.canEdit) { | ||||
|       actions.add( | ||||
|         IconButton( | ||||
|           icon: Icon(Icons.edit_square), | ||||
|           icon: Icon(TablerIcons.edit), | ||||
|           onPressed: () { | ||||
|             editOrder(context); | ||||
|           }, | ||||
| @@ -105,7 +105,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|  | ||||
|     confirmationDialog( | ||||
|         L10().issueOrder, "", | ||||
|         icon: FontAwesomeIcons.paperPlane, | ||||
|         icon: TablerIcons.send, | ||||
|         color: Colors.blue, | ||||
|         acceptText: L10().issue, | ||||
|         onAccept: () async { | ||||
| @@ -121,7 +121,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|  | ||||
|     confirmationDialog( | ||||
|         L10().cancelOrder, "", | ||||
|         icon: FontAwesomeIcons.circleXmark, | ||||
|         icon: TablerIcons.circle_x, | ||||
|         color: Colors.red, | ||||
|         acceptText: L10().cancel, | ||||
|         onAccept: () async { | ||||
| @@ -139,7 +139,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     if (widget.order.isPending) { | ||||
|       actions.add( | ||||
|           SpeedDialChild( | ||||
|               child: FaIcon(FontAwesomeIcons.paperPlane, color: Colors.blue), | ||||
|               child: Icon(TablerIcons.send, color: Colors.blue), | ||||
|               label: L10().issueOrder, | ||||
|               onTap: () async { | ||||
|                 _issueOrder(context); | ||||
| @@ -151,7 +151,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     if (widget.order.isOpen) { | ||||
|       actions.add( | ||||
|           SpeedDialChild( | ||||
|               child: FaIcon(FontAwesomeIcons.circleXmark, color: Colors.red), | ||||
|               child: Icon(TablerIcons.circle_x, color: Colors.red), | ||||
|               label: L10().cancelOrder, | ||||
|               onTap: () async { | ||||
|                 _cancelOrder(context); | ||||
| @@ -164,7 +164,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     if (widget.order.isInProgress && InvenTreeSOLineItem().canCreate) { | ||||
|       actions.add( | ||||
|         SpeedDialChild( | ||||
|           child: FaIcon(FontAwesomeIcons.circlePlus, color: Colors.green), | ||||
|           child: Icon(TablerIcons.circle_plus, color: Colors.green), | ||||
|           label: L10().lineItemAdd, | ||||
|           onTap: () async { | ||||
|             _addLineItem(context); | ||||
| @@ -174,7 +174,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|  | ||||
|       actions.add( | ||||
|         SpeedDialChild( | ||||
|           child: FaIcon(FontAwesomeIcons.truck, color: Colors.green), | ||||
|           child: Icon(TablerIcons.circle_plus, color: Colors.green), | ||||
|           label: L10().shipmentAdd, | ||||
|           onTap: () async { | ||||
|             _addShipment(context); | ||||
| @@ -207,7 +207,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|       if (api.supportsBarcodeSOAllocateEndpoint) { | ||||
|         actions.add( | ||||
|           SpeedDialChild( | ||||
|             child: FaIcon(FontAwesomeIcons.rightToBracket), | ||||
|             child: Icon(TablerIcons.transition_right), | ||||
|             label: L10().allocateStock, | ||||
|             onTap: () async { | ||||
|               scanBarcode( | ||||
| @@ -299,7 +299,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().projectCode), | ||||
|         subtitle: Text("${widget.order.projectCode} - ${widget.order.projectCodeDescription}"), | ||||
|         leading: FaIcon(FontAwesomeIcons.list), | ||||
|         leading: Icon(TablerIcons.list), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -307,7 +307,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().customer), | ||||
|         subtitle: Text(customer.name), | ||||
|         leading: FaIcon(FontAwesomeIcons.userTie, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.user, color: COLOR_ACTION), | ||||
|         onTap: () { | ||||
|           Navigator.push( | ||||
|               context, | ||||
| @@ -323,7 +323,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().customerReference), | ||||
|         subtitle: Text(widget.order.customerReference), | ||||
|         leading: FaIcon(FontAwesomeIcons.hashtag), | ||||
|         leading: Icon(TablerIcons.hash), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -335,7 +335,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|         widget.order.completedLineItemCount.toDouble(), | ||||
|         maximum: widget.order.lineItemCount.toDouble() | ||||
|       ), | ||||
|       leading: FaIcon(FontAwesomeIcons.clipboardCheck), | ||||
|       leading: Icon(TablerIcons.clipboard_check), | ||||
|       trailing: Text("${widget.order.completedLineItemCount} / ${widget.order.lineItemCount}", style: TextStyle(color: lineColor)), | ||||
|     )); | ||||
|  | ||||
| @@ -345,7 +345,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|       tiles.add(ListTile( | ||||
|         title: Text(L10().targetDate), | ||||
|         subtitle: Text(widget.order.targetDate), | ||||
|         leading: FaIcon(FontAwesomeIcons.calendarDays), | ||||
|         leading: Icon(TablerIcons.calendar), | ||||
|       )); | ||||
|     } | ||||
|  | ||||
| @@ -353,7 +353,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     tiles.add( | ||||
|       ListTile( | ||||
|         title: Text(L10().notes), | ||||
|         leading: FaIcon(FontAwesomeIcons.noteSticky, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.note, color: COLOR_ACTION), | ||||
|         onTap: () { | ||||
|           Navigator.push( | ||||
|             context, | ||||
| @@ -369,7 +369,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     tiles.add( | ||||
|       ListTile( | ||||
|         title: Text(L10().attachments), | ||||
|         leading: FaIcon(FontAwesomeIcons.fileLines, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.file, color: COLOR_ACTION), | ||||
|         trailing: attachmentCount > 0 ? Text(attachmentCount.toString()) : null, | ||||
|         onTap: () { | ||||
|           Navigator.push( | ||||
| @@ -407,4 +407,4 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
|  | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
| import "package:inventree/inventree/sales_order.dart"; | ||||
| import "package:inventree/widget/order/sales_order_detail.dart"; | ||||
| import "package:inventree/widget/paginator.dart"; | ||||
| @@ -39,7 +39,7 @@ class _SalesOrderListWidgetState extends RefreshableState<SalesOrderListWidget> | ||||
|     if (InvenTreeSalesOrder().canCreate) { | ||||
|       actions.add( | ||||
|           SpeedDialChild( | ||||
|               child: FaIcon(FontAwesomeIcons.circlePlus), | ||||
|               child: Icon(TablerIcons.circle_plus), | ||||
|               label: L10().salesOrderCreate, | ||||
|               onTap: () { | ||||
|                 _createSalesOrder(context); | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|  | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:flutter_speed_dial/flutter_speed_dial.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
| import "package:inventree/barcode/barcode.dart"; | ||||
| import "package:inventree/barcode/sales_order.dart"; | ||||
|  | ||||
| @@ -52,7 +52,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|     if (widget.item.canEdit) { | ||||
|       actions.add( | ||||
|         IconButton( | ||||
|             icon: Icon(Icons.edit_square), | ||||
|             icon: Icon(TablerIcons.edit), | ||||
|             onPressed: () { | ||||
|               _editLineItem(context); | ||||
|             }), | ||||
| @@ -87,7 +87,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|       order!.allocate_url, | ||||
|       fields, | ||||
|       method: "POST", | ||||
|       icon: FontAwesomeIcons.rightToBracket, | ||||
|       icon: TablerIcons.transition_right, | ||||
|       onSuccess: (data) async { | ||||
|         refresh(context); | ||||
|       } | ||||
| @@ -122,7 +122,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|     if (order != null && order!.isOpen) { | ||||
|       buttons.add( | ||||
|         SpeedDialChild( | ||||
|           child: FaIcon(FontAwesomeIcons.rightToBracket, color: Colors.blue), | ||||
|           child: Icon(TablerIcons.transition_right, color: Colors.blue), | ||||
|           label: L10().allocateStock, | ||||
|           onTap: () async { | ||||
|             _allocateStock(context); | ||||
| @@ -143,7 +143,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|       if (api.supportsBarcodeSOAllocateEndpoint) { | ||||
|         actions.add( | ||||
|             SpeedDialChild( | ||||
|               child: FaIcon(FontAwesomeIcons.rightToBracket), | ||||
|               child: Icon(TablerIcons.transition_right), | ||||
|               label: L10().allocateStock, | ||||
|               onTap: () async { | ||||
|                 scanBarcode( | ||||
| @@ -184,7 +184,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|       ListTile( | ||||
|         title: Text(L10().part), | ||||
|         subtitle: Text(widget.item.partName), | ||||
|         leading: FaIcon(FontAwesomeIcons.shapes, color: COLOR_ACTION), | ||||
|         leading: Icon(TablerIcons.box, color: COLOR_ACTION), | ||||
|         trailing: api.getThumbnail(widget.item.partImage), | ||||
|         onTap: () async { | ||||
|           showLoadingOverlay(context); | ||||
| @@ -202,7 +202,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|     tiles.add( | ||||
|       ListTile( | ||||
|         title: Text(L10().availableStock), | ||||
|         leading: FaIcon(FontAwesomeIcons.boxesStacked), | ||||
|         leading: Icon(TablerIcons.packages), | ||||
|         trailing: Text(simpleNumberString(widget.item.availableStock)) | ||||
|       ) | ||||
|     ); | ||||
| @@ -210,7 +210,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|     // Allocated quantity | ||||
|     tiles.add( | ||||
|       ListTile( | ||||
|         leading: FaIcon(FontAwesomeIcons.clipboardCheck), | ||||
|         leading: Icon(TablerIcons.clipboard_check), | ||||
|         title: Text(L10().allocated), | ||||
|         subtitle: ProgressBar(widget.item.allocatedRatio), | ||||
|         trailing: Text( | ||||
| @@ -233,7 +233,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|             color: widget.item.isComplete ? COLOR_SUCCESS : COLOR_WARNING | ||||
|           ), | ||||
|         ), | ||||
|         leading: FaIcon(FontAwesomeIcons.truck) | ||||
|         leading: Icon(TablerIcons.truck) | ||||
|       ) | ||||
|     ); | ||||
|  | ||||
| @@ -243,7 +243,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|         ListTile( | ||||
|           title: Text(L10().reference), | ||||
|           subtitle: Text(widget.item.reference), | ||||
|           leading: FaIcon(FontAwesomeIcons.hashtag) | ||||
|           leading: Icon(TablerIcons.hash) | ||||
|         ) | ||||
|       ); | ||||
|     } | ||||
| @@ -254,7 +254,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|           ListTile( | ||||
|             title: Text(L10().notes), | ||||
|             subtitle: Text(widget.item.notes), | ||||
|             leading: FaIcon(FontAwesomeIcons.noteSticky), | ||||
|             leading: Icon(TablerIcons.note), | ||||
|           ) | ||||
|       ); | ||||
|     } | ||||
| @@ -265,7 +265,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | ||||
|           ListTile( | ||||
|             title: Text(L10().link), | ||||
|             subtitle: Text(widget.item.link), | ||||
|             leading: FaIcon(FontAwesomeIcons.link, color: COLOR_ACTION), | ||||
|             leading: Icon(TablerIcons.link, color: COLOR_ACTION), | ||||
|             onTap: () async { | ||||
|               await openLink(widget.item.link); | ||||
|             }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
|  | ||||
| import "package:flutter/material.dart"; | ||||
| import "package:font_awesome_flutter/font_awesome_flutter.dart"; | ||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||
| import "package:inventree/app_colors.dart"; | ||||
| import "package:inventree/inventree/sales_order.dart"; | ||||
| import "package:inventree/widget/paginator.dart"; | ||||
| @@ -47,7 +47,7 @@ class _PaginatedSOShipmentListState extends PaginatedSearchState<PaginatedSOShip | ||||
|     return ListTile( | ||||
|       title: Text(shipment.reference), | ||||
|       subtitle: Text(shipment.tracking_number), | ||||
|       leading: shipment.shipped ? FaIcon(FontAwesomeIcons.calendarCheck, color: COLOR_SUCCESS) : FaIcon(FontAwesomeIcons.calendarXmark, color: COLOR_WARNING), | ||||
|       leading: shipment.shipped ? Icon(TablerIcons.calendar_check, color: COLOR_SUCCESS) : Icon(TablerIcons.calendar_cancel, color: COLOR_WARNING), | ||||
|       trailing: shipment.shipped ? Text(shipment.shipment_date ?? "") : null | ||||
|     ); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user