fix profile

This commit is contained in:
Sai Naw Wun
2020-10-11 02:17:23 +06:30
parent b0ce53f856
commit 32e6be2abd
42 changed files with 938 additions and 626 deletions

View File

@@ -0,0 +1,18 @@
import 'package:barcode_scan/barcode_scan.dart';
Future<String> scanBarcode() async {
try {
String barcode = await BarcodeScanner.scan();
if (barcode == null) return null;
String gs = String.fromCharCode(29);
if (barcode.contains(gs)) {
var codes = barcode.split(gs);
barcode = codes.length >= 2 ? codes[1] : barcode;
}
return barcode;
} catch (e) {
print('error: $e');
return null;
}
}

View File

@@ -63,10 +63,12 @@ class DisplayText extends StatelessWidget {
AppTranslations.of(context).text(labelTextKey),
style: labelStyle,
),
Text(
text,
style: textStyle,
),
text == null
? Container()
: Text(
text,
style: textStyle,
),
],
),
),

View File

@@ -0,0 +1,66 @@
import 'package:fcs/domain/constants.dart';
import 'package:fcs/domain/entities/package.dart';
import 'package:fcs/domain/vo/shipment_status.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:intl/intl.dart';
import 'package:timeline_list/timeline.dart';
import 'package:timeline_list/timeline_model.dart';
var dateFormatter = new DateFormat('dd MMM yyyy');
class StatusTree extends StatelessWidget {
final List<ShipmentStatus> shipmentHistory;
final String currentStatus;
const StatusTree({Key key, this.shipmentHistory, this.currentStatus})
: super(key: key);
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(left: 20),
height: 400,
child: Timeline(children: _models(), position: TimelinePosition.Left),
);
}
List<TimelineModel> _models() {
if (shipmentHistory == null || currentStatus == null) return [];
bool isPacked = currentStatus != package_received_status &&
currentStatus != package_processed_status;
return shipmentHistory
.map((e) => TimelineModel(
Padding(
padding: const EdgeInsets.all(18.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(e.status,
style: TextStyle(
color: e.done ? primaryColor : Colors.grey,
fontSize: 16,
fontWeight: FontWeight.bold)),
e.done || isPacked
? Text(dateFormatter.format(e.date))
: Container(),
],
),
),
iconBackground: e.done ? primaryColor : Colors.grey,
icon: Icon(
e.status == "shipped"
? Ionicons.ios_airplane
: e.status == "delivered"
? MaterialCommunityIcons.truck_fast
: e.status == "packed"
? MaterialCommunityIcons.package
: e.status == "processed"
? FontAwesome.dropbox
: MaterialCommunityIcons.inbox_arrow_down,
color: Colors.white,
)))
.toList();
}
}