diff --git a/lib/app.dart b/lib/app.dart index 4cddadc..0eed74d 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -25,7 +25,7 @@ import 'package:fcs/pages/main/splash_page.dart'; import 'package:fcs/pages/staff/model/staff_model.dart'; import 'package:fcs/pages/term/model/term_model.dart'; import 'package:fcs/pages/main/welcome_page.dart'; -import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:provider/provider.dart'; @@ -136,9 +136,17 @@ class _AppState extends State { ], child: Consumer( builder: (context, value, child) { - return CupertinoApp( + return MaterialApp( debugShowCheckedModeBanner: false, - theme: CupertinoThemeData(), + theme: ThemeData( + // useMaterial3: false, + dividerTheme: DividerThemeData(color: Colors.grey.shade200), + colorScheme: ColorScheme.light(primary: Colors.white), + dialogTheme: DialogTheme( + backgroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10))), + ), title: widget.title, routes: route(context), localizationsDelegates: [ diff --git a/lib/helpers/theme.dart b/lib/helpers/theme.dart index e3ec100..0db1578 100644 --- a/lib/helpers/theme.dart +++ b/lib/helpers/theme.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -import 'dart:ui'; -import 'package:flutter/cupertino.dart'; const primaryColor = const Color(0xff272262); const secondaryColor = const Color(0xffff4400); @@ -9,6 +7,7 @@ const nextColor = const Color(0xFFfa833d); const buttonColor = const Color(0xFFFFFFFF); const buttonBkColor = const Color(0xFF268944); const labelColor = const Color(0xFF757575); +var dividerColor = Colors.grey.shade400; const TextStyle labelStyle = TextStyle(fontSize: 20, color: labelColor, fontWeight: FontWeight.w500); diff --git a/lib/pages/buying_instruction/buying_online.dart b/lib/pages/buying_instruction/buying_online.dart index fbd8b53..ceb8b74 100644 --- a/lib/pages/buying_instruction/buying_online.dart +++ b/lib/pages/buying_instruction/buying_online.dart @@ -2,6 +2,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -63,24 +64,11 @@ class _BuyingOnlinePagetate extends State ); return Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - color: primaryColor, - ), - onPressed: () => Navigator.of(context).pop(), - ), - title: LocalText( - context, - "buy_online.title", - fontSize: 20, - color: primaryColor, - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - ), + appBar: LocalAppBar( + labelKey: "buy_online.title", + backgroundColor: Colors.white, + arrowColor: primaryColor, + labelColor: primaryColor), body: ListView( shrinkWrap: true, padding: EdgeInsets.only(top: 10, left: 10, right: 10), @@ -92,11 +80,12 @@ class _BuyingOnlinePagetate extends State instructionBox, new Container( decoration: new BoxDecoration(color: Colors.white), - child: new TabBar( - // indicatorColor: primaryColor, + child: new TabBar.secondary( + labelPadding: EdgeInsets.all(7), + dividerColor: Colors.grey.shade200, + indicatorColor: primaryColor, labelColor: primaryColor, labelStyle: TextStyle(fontWeight: FontWeight.bold), - unselectedLabelColor: Colors.grey, controller: _tabController, tabs: [ LocalText(context, "buy_online.fullname", color: primaryColor), diff --git a/lib/pages/carton/cargo_table.dart b/lib/pages/carton/cargo_table.dart index 8b69d9b..0639bf4 100644 --- a/lib/pages/carton/cargo_table.dart +++ b/lib/pages/carton/cargo_table.dart @@ -24,6 +24,8 @@ class _CargoTableState extends State { headingRowHeight: 40, columnSpacing: 50, showCheckboxColumn: false, + decoration: BoxDecoration(border: Border.all(color: Colors.white)), + border: TableBorder(horizontalInside: BorderSide(color: Colors.white)), columns: [ DataColumn( label: LocalText( diff --git a/lib/pages/carton/carton_cargo_table.dart b/lib/pages/carton/carton_cargo_table.dart index 48d9f4d..da7492c 100644 --- a/lib/pages/carton/carton_cargo_table.dart +++ b/lib/pages/carton/carton_cargo_table.dart @@ -39,14 +39,14 @@ class _CargoTableState extends State { @override Widget build(BuildContext context) { - print("Cargotypes:${cargoTypes!.length}"); - return SingleChildScrollView( scrollDirection: Axis.horizontal, child: DataTable( showCheckboxColumn: false, headingRowHeight: 40, columnSpacing: 40, + decoration: BoxDecoration(border: Border.all(color: Colors.white)), + border: TableBorder(horizontalInside: BorderSide(color: Colors.white)), columns: [ DataColumn( label: LocalText( diff --git a/lib/pages/carton/carton_editor.dart b/lib/pages/carton/carton_editor.dart index 38ffa9a..94ca1a6 100644 --- a/lib/pages/carton/carton_editor.dart +++ b/lib/pages/carton/carton_editor.dart @@ -20,6 +20,7 @@ import 'package:fcs/pages/widgets/delivery_address_selection.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; import 'package:fcs/pages/widgets/length_picker.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_button.dart'; import 'package:fcs/pages/widgets/local_dropdown.dart'; import 'package:fcs/pages/widgets/local_radio_buttons.dart'; @@ -531,21 +532,11 @@ class _CartonEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: - new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop()), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - _isNew ? "box.info.title" : "box.edit.title", - fontSize: 20, - color: primaryColor, - ), - ), + appBar: LocalAppBar( + labelKey: _isNew ? "box.info.title" : "box.edit.title", + backgroundColor: Colors.white, + arrowColor: primaryColor, + labelColor: primaryColor), body: Padding( padding: const EdgeInsets.all(8.0), child: ListView( diff --git a/lib/pages/carton/carton_info.dart b/lib/pages/carton/carton_info.dart index 83c0f2a..adeb3b1 100644 --- a/lib/pages/carton/carton_info.dart +++ b/lib/pages/carton/carton_info.dart @@ -11,6 +11,7 @@ import 'package:fcs/pages/widgets/defalut_delivery_address.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; import 'package:fcs/pages/widgets/length_picker.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_radio_buttons.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_title.dart'; @@ -311,20 +312,11 @@ class _CartonInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "box.info.title", backgroundColor: Colors.white, - title: LocalText( - context, - "box.info.title", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, actions: isEdiable ? [ IconButton( diff --git a/lib/pages/carton/carton_list.dart b/lib/pages/carton/carton_list.dart index 95d804b..1cf133d 100644 --- a/lib/pages/carton/carton_list.dart +++ b/lib/pages/carton/carton_list.dart @@ -1,5 +1,6 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/carton/model/carton_model.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/pages/widgets/local_popupmenu.dart'; import 'package:fcs/pages/widgets/local_text.dart'; @@ -60,33 +61,20 @@ class _CartonListState extends State { }); return LocalProgress( inAsyncCall: _isLoading, - child: DefaultTabController( - length: 2, - child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: primaryColor, - title: LocalText(context, "boxes.name", - color: Colors.white, fontSize: 20), - actions: [popupMenu], - ), - floatingActionButton: FloatingActionButton.extended( - onPressed: () { - _newBox(); - }, - icon: Icon(Icons.add), - label: LocalText(context, "boxes.new", color: Colors.white), - backgroundColor: primaryColor, - ), - body: PaginatorListView( - paginatorListener: boxModel.getBoxes!, - rowBuilder: (p) => CartonListRow(box: p), - color: primaryColor), + child: Scaffold( + appBar: LocalAppBar(labelKey: "boxes.name", actions: [popupMenu]), + floatingActionButton: FloatingActionButton.extended( + onPressed: () { + _newBox(); + }, + icon: Icon(Icons.add), + label: LocalText(context, "boxes.new", color: Colors.white), + backgroundColor: primaryColor, ), + body: PaginatorListView( + paginatorListener: boxModel.getBoxes!, + rowBuilder: (p) => CartonListRow(box: p), + color: primaryColor), ), ); } diff --git a/lib/pages/carton/carton_list_row.dart b/lib/pages/carton/carton_list_row.dart index 8f61bb3..788fdff 100644 --- a/lib/pages/carton/carton_list_row.dart +++ b/lib/pages/carton/carton_list_row.dart @@ -29,7 +29,7 @@ class CartonListRow extends StatelessWidget { children: [ Expanded( child: new Padding( - padding: const EdgeInsets.symmetric(vertical: 16.0), + padding: const EdgeInsets.symmetric(vertical: 13.0), child: new Row( children: [ Container( diff --git a/lib/pages/carton/carton_package_table.dart b/lib/pages/carton/carton_package_table.dart index 7850efa..d8a26e1 100644 --- a/lib/pages/carton/carton_package_table.dart +++ b/lib/pages/carton/carton_package_table.dart @@ -2,7 +2,6 @@ import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_title.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; typedef OnSelect = Function(Package package, bool checked); diff --git a/lib/pages/carton/carton_row.dart b/lib/pages/carton/carton_row.dart index a1319aa..13d18e1 100644 --- a/lib/pages/carton/carton_row.dart +++ b/lib/pages/carton/carton_row.dart @@ -30,13 +30,9 @@ class CartonRow extends StatelessWidget { child: new Row( children: [ Container( - padding: EdgeInsets.only(left: 5, right: 10), - child: Icon( - MaterialCommunityIcons.package, - color: primaryColor, - size: 30, - ), - ), + padding: EdgeInsets.only(left: 5, right: 10), + child: Icon(MaterialCommunityIcons.package, + color: primaryColor, size: 30)), new Expanded( child: new Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/pages/carton/widgets.dart b/lib/pages/carton/widgets.dart index c690008..d8da191 100644 --- a/lib/pages/carton/widgets.dart +++ b/lib/pages/carton/widgets.dart @@ -10,14 +10,18 @@ Widget getCartonNumberStatus(BuildContext context, Carton carton) { LocalText( context, '', - text: carton.cartonNumber , + text: carton.cartonNumber, color: primaryColor, fontSize: 18, fontWeight: FontWeight.bold, ), Padding( padding: const EdgeInsets.only(left: 8.0), - child: Chip(label: Text(carton.status??"")), + child: Chip( + shape: const StadiumBorder( + side: BorderSide(color: Colors.transparent)), + backgroundColor: Colors.grey.withOpacity(0.3), + label: Text(carton.status ?? "")), ), ], ); diff --git a/lib/pages/carton_search/carton_list_row.dart b/lib/pages/carton_search/carton_list_row.dart index 563084e..a62d66e 100644 --- a/lib/pages/carton_search/carton_list_row.dart +++ b/lib/pages/carton_search/carton_list_row.dart @@ -32,7 +32,7 @@ class CartonListRow extends StatelessWidget { children: [ Expanded( child: new Padding( - padding: const EdgeInsets.symmetric(vertical: 13.0), + padding: const EdgeInsets.symmetric(vertical: 10.0), child: new Row( children: [ new Padding( diff --git a/lib/pages/carton_search/carton_search.dart b/lib/pages/carton_search/carton_search.dart index 1139cce..aa78500 100644 --- a/lib/pages/carton_search/carton_search.dart +++ b/lib/pages/carton_search/carton_search.dart @@ -5,6 +5,7 @@ import 'package:fcs/pages/widgets/barcode_scanner.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/pages/widgets/local_popupmenu.dart'; import 'package:fcs/pagination/paginator_listview.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -32,13 +33,15 @@ class PartSearchDelegate extends SearchDelegate { final ThemeData theme = Theme.of(context); return theme.copyWith( appBarTheme: AppBarTheme(color: primaryColor), + iconButtonTheme: IconButtonThemeData( + style: ButtonStyle( + iconColor: MaterialStateProperty.all(Colors.white))), inputDecorationTheme: InputDecorationTheme( border: InputBorder.none, - hintStyle: TextStyle( - color: theme.primaryTextTheme.caption?.color, fontSize: 14)), + hintStyle: TextStyle(color: Colors.grey, fontSize: 14)), textTheme: TextTheme( - headline1: TextStyle( - color: theme.primaryTextTheme.headline1?.color, + displayLarge: TextStyle( + color: theme.primaryTextTheme.displayLarge?.color, fontSize: 16, backgroundColor: primaryColor)), primaryColor: primaryColor, @@ -83,7 +86,7 @@ class PartSearchDelegate extends SearchDelegate { @override Widget buildLeading(BuildContext context) { return IconButton( - icon: Icon(Icons.arrow_back), + icon: Icon(CupertinoIcons.back), onPressed: () => close(context, new Carton()), ); } diff --git a/lib/pages/chat/message_detail.dart b/lib/pages/chat/message_detail.dart index 74d352d..9ca383b 100644 --- a/lib/pages/chat/message_detail.dart +++ b/lib/pages/chat/message_detail.dart @@ -14,6 +14,7 @@ import 'package:fcs/pages/package/package_info.dart'; import 'package:fcs/pages/profile/profile_page.dart'; import 'package:fcs/pages/shipment/model/shipment_model.dart'; import 'package:fcs/pages/shipment/shipment_info.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -50,18 +51,9 @@ class MessageDetail extends StatelessWidget { String userID = Provider.of(context).user?.id ?? ""; return Scaffold( - appBar: AppBar( - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: primaryColor, - elevation: .9, - title: Text( - receiverName ?? "FCS Team", - ), - actions: [], - ), + appBar: LocalAppBar( + titleWidget: Text(receiverName ?? "FCS Team", + style: TextStyle(color: Colors.white, fontSize: 20))), body: Padding( padding: EdgeInsets.all(16.0), child: Column( @@ -129,15 +121,15 @@ class MessageDetail extends StatelessWidget { minLines: 1, keyboardType: TextInputType.multiline, controller: textEditingController, + cursorColor: primaryColor, decoration: InputDecoration( focusedBorder: const OutlineInputBorder( borderSide: const BorderSide(color: primaryColor, width: 1.0), ), border: new OutlineInputBorder( - borderRadius: const BorderRadius.all( - const Radius.circular(10.0), - ), + borderRadius: + const BorderRadius.all(const Radius.circular(5.0)), ), hintText: getLocalString(context, "message.hint.input"), hintStyle: TextStyle( diff --git a/lib/pages/contact/contact_editor.dart b/lib/pages/contact/contact_editor.dart index f292008..cc86c59 100644 --- a/lib/pages/contact/contact_editor.dart +++ b/lib/pages/contact/contact_editor.dart @@ -3,7 +3,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/contact/model/contact_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -87,21 +87,11 @@ class _ContactEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { - Navigator.of(context).pop(); - }), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: 'contact.edit.title', backgroundColor: Colors.white, - title: LocalText( - context, - 'contact.edit.title', - color: primaryColor, - fontSize: 20, - )), + labelColor: primaryColor, + arrowColor: primaryColor), body: ListView( children: [ Padding( diff --git a/lib/pages/contact/contact_page.dart b/lib/pages/contact/contact_page.dart index ed56946..f4d1a32 100644 --- a/lib/pages/contact/contact_page.dart +++ b/lib/pages/contact/contact_page.dart @@ -3,7 +3,7 @@ import 'package:fcs/domain/vo/contact.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/contact/contact_editor.dart'; import 'package:fcs/pages/main/model/main_model.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -26,23 +26,11 @@ class _ContactPageState extends State { bool isEditable = context.select((MainModel m) => m.contactEditable()); return Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - color: primaryColor, - ), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "contact.title", backgroundColor: Colors.white, - title: LocalText( - context, - 'contact.title', - color: primaryColor, - fontSize: 20, - ), + labelColor: primaryColor, + arrowColor: primaryColor, actions: isEditable ? [ IconButton( @@ -102,6 +90,7 @@ class _ContactPageState extends State { onTap: () => _opencontactItem(setting.facebookLink ?? ""), labelKey: "contact.facebook", ), + const SizedBox(height: 30) ], ), ); diff --git a/lib/pages/customer/customer_list.dart b/lib/pages/customer/customer_list.dart index e57e97e..8b47e7a 100644 --- a/lib/pages/customer/customer_list.dart +++ b/lib/pages/customer/customer_list.dart @@ -7,6 +7,7 @@ import 'package:fcs/pages/customer/customer_editor.dart'; import 'package:fcs/pages/customer/model/customer_model.dart'; import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/user_search/user_serach.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -28,7 +29,6 @@ class _CustomerListState extends State { final double dotSize = 15.0; bool _isLoading = false; - @override void initState() { context.read().loadPaginationCustomers(); @@ -42,26 +42,15 @@ class _CustomerListState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.of(context).pop(), - ), - actions: [ + appBar: LocalAppBar( + labelKey: "customer.list.title", + actions: [ IconButton( icon: Icon(Icons.search, color: Colors.white), onPressed: () => searchUser(context, onUserSelect: (u) { _select(u); })), ], - backgroundColor: primaryColor, - title: LocalText( - context, - "customer.list.title", - fontSize: 20, - color: Colors.white, - ), ), floatingActionButton: FloatingActionButton.extended( onPressed: () { @@ -88,7 +77,7 @@ class _CustomerListState extends State { children: [ Expanded( child: new Padding( - padding: const EdgeInsets.symmetric(vertical: 2.0), + padding: const EdgeInsets.symmetric(vertical: 5.0), child: new Row( children: [ InkWell( @@ -120,7 +109,7 @@ class _CustomerListState extends State { child: new Text( customer.name ?? "", style: new TextStyle( - fontSize: 20.0, color: primaryColor), + fontSize: 18.0, color: primaryColor), ), ), Padding( @@ -146,16 +135,13 @@ class _CustomerListState extends State { onPressed: () => _share(customer), style: TextButton.styleFrom( shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(18.0), + borderRadius: BorderRadius.circular(20.0), side: BorderSide(color: primaryColor))), - // shape: RoundedRectangleBorder( - // borderRadius: BorderRadius.circular(18.0), - // side: BorderSide(color: primaryColor)), child: Row( children: [ Text( "Share", - style: TextStyle(fontSize: 12), + style: TextStyle(fontSize: 12, color: primaryColor), ), Icon(Icons.share, color: primaryColor), ], diff --git a/lib/pages/customer/invitation_create.dart b/lib/pages/customer/invitation_create.dart index 0ace991..b2f9002 100644 --- a/lib/pages/customer/invitation_create.dart +++ b/lib/pages/customer/invitation_create.dart @@ -3,9 +3,8 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/customer/model/customer_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -42,31 +41,20 @@ class _InvitationCreateState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( + appBar: LocalAppBar( + labelKey: "invitation.form.title", backgroundColor: Colors.white, - shadowColor: Colors.transparent, - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - color: primaryColor, - ), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); - } - }, - ), - title: LocalText( - context, - "invitation.form.title", - fontSize: 20, - color: primaryColor, - ), + }); + } else { + Navigator.of(context).pop(); + } + }, ), body: Container( padding: EdgeInsets.all(18), diff --git a/lib/pages/delivery/delivery_info.dart b/lib/pages/delivery/delivery_info.dart index 9caff26..9845232 100644 --- a/lib/pages/delivery/delivery_info.dart +++ b/lib/pages/delivery/delivery_info.dart @@ -13,12 +13,11 @@ import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; import 'package:fcs/pages/widgets/defalut_delivery_address.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_button.dart'; import 'package:fcs/pages/widgets/local_radio_buttons.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_title.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:intl/intl.dart'; @@ -226,23 +225,11 @@ class _DeliveryInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "delivery.info.title", - fontSize: 20, - color: primaryColor, - ), - ), + appBar: LocalAppBar( + labelKey: "delivery.info.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.all(10.0), child: ListView(children: [ diff --git a/lib/pages/delivery/delivery_list.dart b/lib/pages/delivery/delivery_list.dart index 01dfbca..bebe5f3 100644 --- a/lib/pages/delivery/delivery_list.dart +++ b/lib/pages/delivery/delivery_list.dart @@ -1,9 +1,8 @@ import 'package:fcs/helpers/theme.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/pages/widgets/local_popupmenu.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -61,17 +60,7 @@ class _DeliverListState extends State { 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, "delivery", - color: Colors.white, fontSize: 20), - actions: [popupMenu], - ), + appBar: LocalAppBar(labelKey: "delivery", actions: [popupMenu]), body: PaginatorListView( paginatorListener: deliveryModel.getCartons!, rowBuilder: (p) => DeliveryListRow(box: p), diff --git a/lib/pages/delivery_address/delivery_address_editor.dart b/lib/pages/delivery_address/delivery_address_editor.dart index 4f84619..044e39d 100644 --- a/lib/pages/delivery_address/delivery_address_editor.dart +++ b/lib/pages/delivery_address/delivery_address_editor.dart @@ -4,9 +4,8 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -104,24 +103,20 @@ class _DeliveryAddressEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), + appBar: LocalAppBar( + labelKey: 'delivery_address', backgroundColor: Colors.white, - shadowColor: Colors.transparent, - title: LocalText(context, 'delivery_address', - color: primaryColor, fontSize: 18), + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ _isNew ? Container() diff --git a/lib/pages/delivery_address/delivery_address_list.dart b/lib/pages/delivery_address/delivery_address_list.dart index 480e5b6..66f048d 100644 --- a/lib/pages/delivery_address/delivery_address_list.dart +++ b/lib/pages/delivery_address/delivery_address_list.dart @@ -2,6 +2,7 @@ import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/delivery_address/delivery_address_editor.dart'; import 'package:fcs/pages/main/util.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -15,7 +16,7 @@ class DeliveryAddressList extends StatefulWidget { final bool isAdminCreation; final DeliveryAddress? deliveryAddress; const DeliveryAddressList( - {Key? key, this.isAdminCreation = false, this.deliveryAddress}) + {Key? key, this.isAdminCreation = false, this.deliveryAddress}) : super(key: key); @override _DeliveryAddressListState createState() => _DeliveryAddressListState(); @@ -41,17 +42,11 @@ class _DeliveryAddressListState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - title: LocalText(context, 'delivery_addresses', - color: primaryColor, fontSize: 20), - ), + appBar: LocalAppBar( + labelKey: 'delivery_addresses', + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.of(context).push(CupertinoPageRoute( diff --git a/lib/pages/faq/faq_detail_page.dart b/lib/pages/faq/faq_detail_page.dart deleted file mode 100644 index b1a56fd..0000000 --- a/lib/pages/faq/faq_detail_page.dart +++ /dev/null @@ -1,140 +0,0 @@ -import 'package:fcs/domain/entities/faq.dart'; -import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/pages/faq/faq_edit_page.dart'; -import 'package:fcs/pages/faq/model/faq_model.dart'; -import 'package:fcs/pages/main/model/language_model.dart'; -import 'package:fcs/pages/main/model/main_model.dart'; -import 'package:fcs/pages/main/util.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; -import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; - -class FAQDetailPage extends StatefulWidget { - final FAQ faq; - const FAQDetailPage({required this.faq}); - @override - _FAQDetailPageState createState() => _FAQDetailPageState(); -} - -class _FAQDetailPageState extends State { - bool _isLoading = false; - FAQ faq = new FAQ(); - - intState() { - super.initState(); - } - - @override - Widget build(BuildContext context) { - if (widget.faq.id != null) - faq = context.select((FAQModel m) => m.getFAQ(widget.faq.id!)); - // if (faq == null) return Text("Deleted"); - - bool isEditable = context.select((MainModel m) => m.faqEditable()); - return LocalProgress( - inAsyncCall: _isLoading, - child: Scaffold( - body: CustomScrollView(slivers: [ - SliverAppBar( - leading: IconButton( - icon: Icon( - CupertinoIcons.back, - color: primaryColor, - size: 50, - ), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: Colors.white, - expandedHeight: 100.0, - floating: false, - pinned: true, - flexibleSpace: FlexibleSpaceBar( - centerTitle: true, - titlePadding: EdgeInsets.symmetric(vertical: 10), - ), - actions: isEditable - ? [ - IconButton( - onPressed: () { - showConfirmDialog(context, "faq.edit.delete.confirm", - () { - _delete(); - }); - }, - icon: Icon( - CupertinoIcons.delete, - color: primaryColor, - size: 30, - )), - IconButton( - onPressed: () => - Navigator.of(context).push(CupertinoPageRoute( - builder: (context) => FAQEditor(faq: faq), - )), - icon: Icon( - CupertinoIcons.pen, - color: primaryColor, - )) - ] - : [], - ), - SliverList( - delegate: SliverChildListDelegate([ - Padding( - padding: const EdgeInsets.all(28.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - getQuestion(context, faq), - SizedBox( - height: 50, - ), - getAnwser(context, faq) - ], - ), - ), - ])) - ]), - ), - ); - } - - Widget getQuestion(BuildContext context, FAQ faq) { - bool isEng = Provider.of(context).isEng; - return TextLocalStyle( - context, - faq.question(isEng), - fontSize: 22, - fontWeight: FontWeight.bold, - ); - } - - Widget getAnwser(BuildContext context, FAQ faq) { - bool isEng = Provider.of(context).isEng; - return TextLocalStyle( - context, - faq.answer(isEng), - fontSize: 16, - fontWeight: FontWeight.w200, - ); - } - - _delete() async { - setState(() { - _isLoading = true; - }); - try { - FAQModel faqModel = Provider.of(context, listen: false); - await faqModel.deleteFAQ(faq); - Navigator.pop(context); - } catch (e) { - showMsgDialog(context, "Error", e.toString()); - } finally { - setState(() { - _isLoading = false; - }); - } - } -} diff --git a/lib/pages/faq/faq_edit_page.dart b/lib/pages/faq/faq_edit_page.dart index 4114eb4..b0da35d 100644 --- a/lib/pages/faq/faq_edit_page.dart +++ b/lib/pages/faq/faq_edit_page.dart @@ -5,9 +5,8 @@ import 'package:fcs/pages/faq/model/faq_model.dart'; import 'package:fcs/pages/faq/widgets.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -84,6 +83,7 @@ class _FAQEditorState extends State { withBorder: true, ); final pageLinkBox = DropdownButton( + isExpanded: true, value: _pageLink, style: TextStyle(color: Colors.deepPurple), underline: Container( @@ -124,33 +124,30 @@ class _FAQEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), + appBar: LocalAppBar( + labelKey: _isNew ? 'faq.add.title' : 'faq.edit.title', backgroundColor: Colors.white, - shadowColor: Colors.transparent, - title: LocalText( - context, _isNew ? 'faq.add.title' : 'faq.edit.title', - color: primaryColor, fontSize: 20), + arrowColor: primaryColor, + labelColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ - IconButton( - icon: Icon( - Icons.delete, - color: primaryColor, - ), - onPressed: _delete, - ) + _isNew + ? const SizedBox() + : IconButton( + icon: Icon( + Icons.delete, + color: primaryColor, + ), + onPressed: _delete, + ) ], ), body: Form( diff --git a/lib/pages/faq/faq_list_page.dart b/lib/pages/faq/faq_list_page.dart index 6c5a804..59b2bff 100644 --- a/lib/pages/faq/faq_list_page.dart +++ b/lib/pages/faq/faq_list_page.dart @@ -8,6 +8,7 @@ import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/payment_methods/payment_method_page.dart'; import 'package:fcs/pages/rates/shipment_rates.dart'; import 'package:fcs/pages/widgets/fcs_expansion_tile.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -15,7 +16,6 @@ import 'package:provider/provider.dart'; import 'model/faq_model.dart'; - class FAQListPage extends StatefulWidget { @override _FAQListPageState createState() => _FAQListPageState(); @@ -29,19 +29,8 @@ class _FAQListPageState extends State bool isEditable = context.select((MainModel m) => m.faqEditable()); return Scaffold( - appBar: AppBar( - centerTitle: true, - title: LocalText( - context, - "faq.title", - color: Colors.white, - fontSize: 20, - ), - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: primaryColor, + appBar: LocalAppBar( + labelKey: "faq.title", actions: isEditable ? [ IconButton( diff --git a/lib/pages/fcs_shipment/fcs_shipment_editor.dart b/lib/pages/fcs_shipment/fcs_shipment_editor.dart index 0a48598..2e24371 100644 --- a/lib/pages/fcs_shipment/fcs_shipment_editor.dart +++ b/lib/pages/fcs_shipment/fcs_shipment_editor.dart @@ -7,10 +7,9 @@ import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/input_date.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_button.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -50,13 +49,15 @@ class _FcsShipmentEditorState extends State { if (widget.shipment != null) { _shipment = widget.shipment!; _shipmentNumberController.text = _shipment.shipmentNumber ?? ""; - if(_shipment.cutoffDate != null) - _cutoffDateController.text = dateFormatter.format(_shipment.cutoffDate!); - if(_shipment.arrivalDate != null) - _arrivalDateController.text = dateFormatter.format(_shipment.arrivalDate!); - if(_shipment.departureDate != null) - _departureDateControler.text = - dateFormatter.format(_shipment.departureDate!); + if (_shipment.cutoffDate != null) + _cutoffDateController.text = + dateFormatter.format(_shipment.cutoffDate!); + if (_shipment.arrivalDate != null) + _arrivalDateController.text = + dateFormatter.format(_shipment.arrivalDate!); + if (_shipment.departureDate != null) + _departureDateControler.text = + dateFormatter.format(_shipment.departureDate!); _statusController.text = _shipment.status ?? ""; _currentShipmentType = _shipment.shipType; _consigneeController.text = _shipment.consignee ?? ""; @@ -91,12 +92,12 @@ class _FcsShipmentEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - shadowColor: Colors.transparent, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { + appBar: LocalAppBar( + labelKey: "FCSshipment.form.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { if (isDataChanged()) { showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); @@ -104,16 +105,7 @@ class _FcsShipmentEditorState extends State { } else { Navigator.of(context).pop(); } - }, - ), - backgroundColor: Colors.white, - title: LocalText( - context, - "FCSshipment.form.title", - color: primaryColor, - fontSize: 18, - ), - ), + }), body: Padding( padding: const EdgeInsets.all(10.0), child: ListView(children: [ @@ -206,7 +198,7 @@ class _FcsShipmentEditorState extends State { // fcsShipment.departureDate = // depDate == "" ? null : dateFormatter.parse(depDate); } catch (e) { - showMsgDialog(context, "Error", e.toString()); // shold never happen + // showMsgDialog(context, "Error", e.toString()); // shold never happen } return fcsShipment; } diff --git a/lib/pages/fcs_shipment/fcs_shipment_info.dart b/lib/pages/fcs_shipment/fcs_shipment_info.dart index 67b128c..8b03103 100644 --- a/lib/pages/fcs_shipment/fcs_shipment_info.dart +++ b/lib/pages/fcs_shipment/fcs_shipment_info.dart @@ -4,6 +4,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/display_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_button.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/pdf_screen.dart'; @@ -132,20 +133,11 @@ class _FcsShipmentInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "FCSshipment.form.title", backgroundColor: Colors.white, - title: LocalText( - context, - "FCSshipment.form.title", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, actions: [ IconButton( icon: Icon(Icons.edit, color: primaryColor), @@ -154,7 +146,30 @@ class _FcsShipmentInfoState extends State { menuPopWidget(context) ], ), + // appBar: AppBar( + // centerTitle: true, + // leading: new IconButton( + // icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), + // onPressed: () => Navigator.of(context).pop(), + // ), + // shadowColor: Colors.transparent, + // backgroundColor: Colors.white, + // title: LocalText( + // context, + // "FCSshipment.form.title", + // fontSize: 20, + // color: primaryColor, + // ), + // actions: [ + // IconButton( + // icon: Icon(Icons.edit, color: primaryColor), + // onPressed: _edit, + // ), + // menuPopWidget(context) + // ], + // ), body: Card( + elevation: 0, child: Column( children: [ Expanded( diff --git a/lib/pages/fcs_shipment/fcs_shipment_list.dart b/lib/pages/fcs_shipment/fcs_shipment_list.dart index ba1c60e..bfa3ac3 100644 --- a/lib/pages/fcs_shipment/fcs_shipment_list.dart +++ b/lib/pages/fcs_shipment/fcs_shipment_list.dart @@ -1,5 +1,6 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/pages/widgets/local_popupmenu.dart'; import 'package:fcs/pages/widgets/local_text.dart'; @@ -63,17 +64,8 @@ class _FcsShipmentListState extends State { 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), - actions: [popupMenu], - ), + appBar: LocalAppBar( + labelKey: "FCSshipment.list.title", actions: [popupMenu]), floatingActionButton: FloatingActionButton.extended( onPressed: () { _newShipment(); diff --git a/lib/pages/main/util.dart b/lib/pages/main/util.dart index 36044a0..9c5b102 100644 --- a/lib/pages/main/util.dart +++ b/lib/pages/main/util.dart @@ -20,7 +20,10 @@ Future showMsgDialog(BuildContext context, String title, String msg) { content: new Text(msg), actions: [ new TextButton( - child: new Text("Close"), + child: new Text( + "Close", + style: TextStyle(color: primaryColor), + ), onPressed: () { Navigator.of(context).pop(); }, @@ -52,14 +55,16 @@ Future showConfirmDialog( crossAxisAlignment: CrossAxisAlignment.center, children: [ TextButton( - style: - TextButton.styleFrom(backgroundColor: Colors.grey[300]), - // color: Colors.grey[300], + style: TextButton.styleFrom( + backgroundColor: Colors.grey[300], + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5.0))), child: Text( AppTranslations.of(context)!.text('btn.cancel'), style: Provider.of(context).isEng - ? TextStyle() - : TextStyle(fontFamily: 'Myanmar3'), + ? TextStyle(color: primaryColor) + : TextStyle( + fontFamily: 'Myanmar3', color: primaryColor), ), onPressed: () { Navigator.of(context).pop(); @@ -68,8 +73,10 @@ Future showConfirmDialog( width: 0, ), TextButton( - style: TextButton.styleFrom(backgroundColor: primaryColor), - // color: primaryColor, + style: TextButton.styleFrom( + backgroundColor: primaryColor, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5.0))), child: Text(AppTranslations.of(context)!.text('btn.ok'), style: Provider.of(context).isEng ? TextStyle( @@ -374,7 +381,8 @@ String getLocalString(BuildContext context, String key) { } void showToast(GlobalKey key, String text) { - final ScaffoldMessengerState scaffold = key.currentState as ScaffoldMessengerState; + final ScaffoldMessengerState scaffold = + key.currentState as ScaffoldMessengerState; scaffold.showSnackBar( SnackBar( content: Text(text), diff --git a/lib/pages/market/market_editor.dart b/lib/pages/market/market_editor.dart index 8b2a764..6e60ea6 100644 --- a/lib/pages/market/market_editor.dart +++ b/lib/pages/market/market_editor.dart @@ -3,6 +3,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/market/model/market_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -58,22 +59,11 @@ class _MarketEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: - new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "market.edit.title", - fontSize: 20, - color: primaryColor, - ), - ), + appBar: LocalAppBar( + labelKey: 'market.edit.title', + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.only(left: 12.0, right: 12), child: ListView( diff --git a/lib/pages/package/package_editor.dart b/lib/pages/package/package_editor.dart deleted file mode 100644 index 8592e0c..0000000 --- a/lib/pages/package/package_editor.dart +++ /dev/null @@ -1,265 +0,0 @@ -import 'package:fcs/domain/entities/market.dart'; -import 'package:fcs/domain/entities/package.dart'; -import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/pages/main/util.dart'; -import 'package:fcs/pages/market/market_editor.dart'; -import 'package:fcs/pages/market/model/market_model.dart'; -import 'package:fcs/pages/package/tracking_id_page.dart'; -import 'package:fcs/pages/widgets/display_text.dart'; -import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; -import 'package:fcs/pages/widgets/multi_img_controller.dart'; -import 'package:fcs/pages/widgets/multi_img_file.dart'; -import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_vector_icons/flutter_vector_icons.dart'; -import 'package:intl/intl.dart'; -import 'package:provider/provider.dart'; - -class PackageEditorPage extends StatefulWidget { - final Package? package; - PackageEditorPage({this.package}); - - @override - _PackageEditorPageState createState() => _PackageEditorPageState(); -} - -class _PackageEditorPageState extends State { - TextEditingController _remarkCtl = new TextEditingController(); - TextEditingController _descCtl = new TextEditingController(); - - Package? _package; - bool _isLoading = false; - - @override - void initState() { - super.initState(); - _package = widget.package!; - selectedMarket = _package!.market; - _descCtl.text = _package!.desc!; - _remarkCtl.text = _package!.remark!; - multiImgController.setImageUrls = _package!.photoUrls; - } - - final DateFormat dateFormat = DateFormat("d MMM yyyy"); - - bool isNew = false; - MultiImgController multiImgController = MultiImgController(); - - @override - Widget build(BuildContext context) { - final trackingIdBox = DisplayText( - text: _package != null ? _package!.trackingID : "", - labelTextKey: "package.tracking.id", - iconData: MaterialCommunityIcons.barcode_scan, - ); - final statusBox = DisplayText( - text: _package != null ? _package!.status : "", - labelTextKey: "package.edit.status", - iconData: AntDesign.exclamationcircleo, - ); - final customerNameBox = DisplayText( - text: _package != null ? _package!.userName : "", - labelTextKey: "package.create.name", - iconData: Icons.perm_identity, - ); - final completeProcessingBtn = fcsButton( - context, - getLocalString(context, 'package.edit.complete.process.btn'), - callack: _completeProcessing, - ); - final descBox = InputText( - labelTextKey: 'package.edit.desc', - iconData: MaterialCommunityIcons.message_text_outline, - controller: _descCtl); - final remarkBox = InputText( - labelTextKey: 'package.edit.remark', - iconData: Entypo.new_message, - controller: _remarkCtl); - - final img = MultiImageFile( - enabled: true, - controller: multiImgController, - title: "Receipt File", - ); - return LocalProgress( - inAsyncCall: _isLoading, - child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - }, - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "package.edit.title", - fontSize: 20, - color: primaryColor, - ), - actions: [ - IconButton( - icon: Icon(Icons.delete, color: primaryColor), - onPressed: _delete, - ) - ], - ), - body: Padding( - padding: const EdgeInsets.all(8.0), - child: ListView( - children: [ - trackingIdBox, - customerNameBox, - statusBox, - Divider(), - Center( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: LocalText( - context, - "package.edit.procseeing", - color: primaryColor, - fontSize: 16, - fontWeight: FontWeight.w700, - ), - ), - ), - Padding( - padding: const EdgeInsets.only(left: 18.0, right: 10), - child: Column( - children: [ - marketDropdown(), - descBox, - remarkBox, - img, - ], - ), - ), - completeProcessingBtn, - SizedBox( - height: 20, - ) - ], - ), - ), - ), - ); - } - - String? selectedMarket; - Widget marketDropdown() { - List _markets = Provider.of(context).markets; - List markets = _markets.map((e) => e.name).toList(); - markets.insert(0, MANAGE_MARKET); - if (!markets.contains(selectedMarket)) { - markets.insert(0, selectedMarket!); - } - - return Row( - children: [ - Padding( - padding: const EdgeInsets.only(right: 18.0), - child: LocalText( - context, - "package.create.market", - color: primaryColor, - fontSize: 16, - ), - ), - Container( - width: 150, - child: DropdownButton( - value: selectedMarket, - style: TextStyle(color: Colors.black, fontSize: 14), - underline: Container( - height: 1, - color: Colors.grey, - ), - onChanged: (String? newValue) { - setState(() { - if (newValue == MANAGE_MARKET) { - selectedMarket = null; - _manageMarket(); - return; - } - selectedMarket = newValue; - }); - }, - isExpanded: true, - items: markets.map>((String? value) { - return DropdownMenuItem( - value: value, - child: Text(value ?? "", - overflow: TextOverflow.ellipsis, - style: TextStyle( - color: value == MANAGE_MARKET - ? secondaryColor - : primaryColor)), - ); - }).toList(), - ), - ), - ], - ); - } - - _manageMarket() { - Navigator.push( - context, - CupertinoPageRoute(builder: (context) => MarketEditor()), - ); - } - - _completeProcessing() async { - if (_descCtl.text == "") { - showMsgDialog(context, "Error", "Expected some description"); - return; - } - setState(() { - _isLoading = true; - }); - - try { - _package!.desc = _descCtl.text; - _package!.remark = _remarkCtl.text; - _package!.market = selectedMarket!; - // await packageModel.completeProcessing(_package, - // multiImgController.getAddedFile, multiImgController.getDeletedUrl); - Navigator.pop(context); - } catch (e) { - showMsgDialog(context, "Error", e.toString()); - } finally { - setState(() { - _isLoading = false; - }); - } - } - - _delete() { - showConfirmDialog(context, "package.delete.confirm", _deletePackage); - } - - _deletePackage() async { - setState(() { - _isLoading = true; - }); - - try { - // await packageModel.deletePackage(_package); - Navigator.pop(context, true); - } catch (e) { - showMsgDialog(context, "Error", e.toString()); - } finally { - setState(() { - _isLoading = false; - }); - } - } -} diff --git a/lib/pages/package/package_info.dart b/lib/pages/package/package_info.dart index 608b1ef..164c066 100644 --- a/lib/pages/package/package_info.dart +++ b/lib/pages/package/package_info.dart @@ -155,6 +155,7 @@ class _PackageInfoState extends State { ), ), body: Card( + elevation: 0, child: Column( children: [ Expanded( @@ -177,9 +178,12 @@ class _PackageInfoState extends State { widget.isSearchResult ? Container() : deliveryAddressBox, widget.isSearchResult ? Container() - : StatusTree( - shipmentHistory: _package!.shipmentHistory, - currentStatus: _package!.status), + : Padding( + padding: const EdgeInsets.only(top: 15), + child: StatusTree( + shipmentHistory: _package!.shipmentHistory, + currentStatus: _package!.status), + ), SizedBox( height: 20, ) diff --git a/lib/pages/package/package_list.dart b/lib/pages/package/package_list.dart index 9e378cf..1c59a02 100644 --- a/lib/pages/package/package_list.dart +++ b/lib/pages/package/package_list.dart @@ -4,9 +4,9 @@ import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/package/package_info.dart'; import 'package:fcs/pages/package/package_list_row.dart'; import 'package:fcs/pages/package_search/package_serach.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_popup_menu_button.dart'; import 'package:fcs/pages/widgets/local_popupmenu.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:fcs/pagination/paginator_listview.dart'; import 'package:flutter/cupertino.dart'; @@ -55,20 +55,9 @@ class _PackageListState extends State { 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, - "package.title", - fontSize: 20, - color: Colors.white, - ), - actions: [ + appBar: LocalAppBar( + labelKey: 'package.title', + actions: [ widget.forCustomer ? Container() : IconButton( @@ -78,8 +67,7 @@ class _PackageListState extends State { ), iconSize: 30, onPressed: () => searchPackage(context, - callbackPackageSelect: _searchCallback), - ), + callbackPackageSelect: _searchCallback)), popupMenu ], ), diff --git a/lib/pages/package_search/package_serach.dart b/lib/pages/package_search/package_serach.dart index 3d14be9..2168ae5 100644 --- a/lib/pages/package_search/package_serach.dart +++ b/lib/pages/package_search/package_serach.dart @@ -3,6 +3,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/package/package_list_row.dart'; import 'package:fcs/pages/widgets/barcode_scanner.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -28,13 +29,15 @@ class PackageSearchDelegate extends SearchDelegate { final ThemeData theme = Theme.of(context); return theme.copyWith( appBarTheme: AppBarTheme(color: primaryColor), + iconButtonTheme: IconButtonThemeData( + style: ButtonStyle( + iconColor: MaterialStateProperty.all(Colors.white))), inputDecorationTheme: InputDecorationTheme( border: InputBorder.none, - hintStyle: TextStyle( - color: theme.primaryTextTheme.caption?.color, fontSize: 14)), + hintStyle: TextStyle(color: Colors.grey, fontSize: 14)), textTheme: TextTheme( - headline1: TextStyle( - color: theme.primaryTextTheme.headline1?.color, + displayLarge: TextStyle( + color: theme.primaryTextTheme.displayLarge?.color, fontSize: 16, backgroundColor: primaryColor)), primaryColor: primaryColor, @@ -59,7 +62,7 @@ class PackageSearchDelegate extends SearchDelegate { @override Widget buildLeading(BuildContext context) { return IconButton( - icon: Icon(Icons.arrow_back), + icon: Icon(CupertinoIcons.back), onPressed: () => close(context, new Package()), ); } diff --git a/lib/pages/payment_methods/payment_method_editor.dart b/lib/pages/payment_methods/payment_method_editor.dart index fb95f43..63f156e 100644 --- a/lib/pages/payment_methods/payment_method_editor.dart +++ b/lib/pages/payment_methods/payment_method_editor.dart @@ -3,9 +3,8 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/payment_methods/model/payment_method_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -55,28 +54,20 @@ class _PaymentMethodEditorState extends State { inAsyncCall: _isLoading, child: Scaffold( backgroundColor: Colors.white, - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), - title: LocalText( - context, - isNew ? "pm.form.new" : "pm.update", - fontSize: 20, - color: primaryColor, - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: isNew ? "pm.form.new" : "pm.update", backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ isNew ? Container() diff --git a/lib/pages/payment_methods/payment_method_page.dart b/lib/pages/payment_methods/payment_method_page.dart index 5b17872..3f5ef93 100644 --- a/lib/pages/payment_methods/payment_method_page.dart +++ b/lib/pages/payment_methods/payment_method_page.dart @@ -5,6 +5,7 @@ import 'package:fcs/pages/payment_methods/model/payment_method_model.dart'; import 'package:fcs/pages/payment_methods/payment_method_editor.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/display_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -31,25 +32,11 @@ class _PaymentMethodPageState extends State { inAsyncCall: _isLoading, child: Scaffold( key: key, - appBar: AppBar( - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - color: primaryColor, - ), - onPressed: () => Navigator.of(context).pop(), - ), - centerTitle: true, - title: LocalText( - context, - "pm.title", - fontSize: 20, - color: primaryColor, - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - actions: [], - ), + appBar: LocalAppBar( + labelKey: "pm.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.all(12.0), child: ListView.separated( diff --git a/lib/pages/pickup/pickup_editor.dart b/lib/pages/pickup/pickup_editor.dart index 242052f..5347fe6 100644 --- a/lib/pages/pickup/pickup_editor.dart +++ b/lib/pages/pickup/pickup_editor.dart @@ -10,6 +10,7 @@ import 'package:fcs/pages/pickup/model/pickup_model.dart'; import 'package:fcs/pages/widgets/defalut_delivery_address.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; @@ -131,28 +132,20 @@ class _PickupEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "pickup.edit.title", backgroundColor: Colors.white, - title: LocalText( - context, - "pickup.edit.title", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, ), body: Padding( padding: const EdgeInsets.all(8.0), diff --git a/lib/pages/pickup/pickup_info.dart b/lib/pages/pickup/pickup_info.dart index aca18aa..094c86f 100644 --- a/lib/pages/pickup/pickup_info.dart +++ b/lib/pages/pickup/pickup_info.dart @@ -5,7 +5,7 @@ import 'package:fcs/pages/pickup/model/pickup_model.dart'; import 'package:fcs/pages/pickup/pickup_editor.dart'; import 'package:fcs/pages/widgets/defalut_delivery_address.dart'; import 'package:fcs/pages/widgets/display_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; import 'package:fcs/pages/widgets/progress.dart'; @@ -149,22 +149,13 @@ class _PickupInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "pickup.info.title", - fontSize: 20, - color: primaryColor, - ), - ), + appBar: LocalAppBar( + labelKey: "pickup.info.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Card( + elevation: 0, child: Column( children: [ Expanded( diff --git a/lib/pages/pickup/pickup_list.dart b/lib/pages/pickup/pickup_list.dart index 2bf4b76..97361dd 100644 --- a/lib/pages/pickup/pickup_list.dart +++ b/lib/pages/pickup/pickup_list.dart @@ -3,7 +3,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/pickup/pickup_info.dart'; import 'package:fcs/pages/pickup/pickup_list_row.dart'; import 'package:fcs/pages/pickup_search/pickup_serach.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:fcs/pagination/paginator_listview.dart'; import 'package:flutter/cupertino.dart'; @@ -26,7 +26,6 @@ class _PickupListState extends State { super.initState(); } - @override Widget build(BuildContext context) { var pickupModel = Provider.of(context); @@ -35,29 +34,17 @@ class _PickupListState extends State { 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, - "pickup.title", - fontSize: 20, - color: Colors.white, - ), - actions: [ + appBar: LocalAppBar( + labelKey: "pickup.title", + actions: [ IconButton( - icon: Icon( - Icons.search, - color: Colors.white, - ), - iconSize: 30, - onPressed: () => searchPickup(context, - callbackPickupSelect: _searchCallback), - ), + icon: Icon( + Icons.search, + color: Colors.white, + ), + iconSize: 30, + onPressed: () => searchPickup(context, + callbackPickupSelect: _searchCallback)), ], ), body: PaginatorListView( diff --git a/lib/pages/pickup_search/pickup_serach.dart b/lib/pages/pickup_search/pickup_serach.dart index 76ea3ab..35fbae5 100644 --- a/lib/pages/pickup_search/pickup_serach.dart +++ b/lib/pages/pickup_search/pickup_serach.dart @@ -4,6 +4,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/pickup/model/pickup_model.dart'; import 'package:fcs/pages/pickup/pickup_list_row.dart'; import 'package:fcs/pages/widgets/barcode_scanner.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -29,13 +30,15 @@ class PackageSearchDelegate extends SearchDelegate { final ThemeData theme = Theme.of(context); return theme.copyWith( appBarTheme: AppBarTheme(color: primaryColor), + iconButtonTheme: IconButtonThemeData( + style: ButtonStyle( + iconColor: MaterialStateProperty.all(Colors.white))), inputDecorationTheme: InputDecorationTheme( border: InputBorder.none, - hintStyle: TextStyle( - color: theme.primaryTextTheme.caption?.color, fontSize: 14)), + hintStyle: TextStyle(color: Colors.grey, fontSize: 14)), textTheme: TextTheme( - headline1: TextStyle( - color: theme.primaryTextTheme.headline1?.color, + displayLarge: TextStyle( + color: theme.primaryTextTheme.displayLarge?.color, fontSize: 16, backgroundColor: primaryColor)), primaryColor: primaryColor, @@ -60,7 +63,7 @@ class PackageSearchDelegate extends SearchDelegate { @override Widget buildLeading(BuildContext context) { return IconButton( - icon: Icon(Icons.arrow_back), + icon: Icon(CupertinoIcons.back), onPressed: () => close(context, new Pickup()), ); } @@ -120,7 +123,8 @@ class PackageSearchDelegate extends SearchDelegate { child: Center( child: Opacity( opacity: 0.2, - child: Icon(SimpleLineIcons.direction, size: 200, color: primaryColor)), + child: Icon(SimpleLineIcons.direction, + size: 200, color: primaryColor)), ), ); } diff --git a/lib/pages/processing/processing_edit_editor.dart b/lib/pages/processing/processing_edit_editor.dart index 6b0c02c..ee68b96 100644 --- a/lib/pages/processing/processing_edit_editor.dart +++ b/lib/pages/processing/processing_edit_editor.dart @@ -11,6 +11,7 @@ import 'package:fcs/pages/user_search/user_serach.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; @@ -172,28 +173,20 @@ class _ProcessingEditEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "processing.edit.title", backgroundColor: Colors.white, - title: LocalText( - context, - "processing.edit.title", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, ), body: Padding( padding: const EdgeInsets.all(8.0), @@ -337,7 +330,7 @@ class _ProcessingEditEditorState extends State { fcsID: _consignee!.fcsID, senderFCSID: _sender!.fcsID, market: selectedMarket, - desc: _descCtl.text , + desc: _descCtl.text, remark: _remarkCtl.text, photoUrls: widget.package!.photoUrls); return widget.package!.isChangedForEditProcessing(_package) || diff --git a/lib/pages/processing/processing_editor.dart b/lib/pages/processing/processing_editor.dart index 02a7d53..fa0d5a5 100644 --- a/lib/pages/processing/processing_editor.dart +++ b/lib/pages/processing/processing_editor.dart @@ -7,7 +7,7 @@ import 'package:fcs/pages/package/package_info.dart'; import 'package:fcs/pages/user_search/user_serach.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -177,23 +177,11 @@ class _ProcesingEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: - new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: _isNew ? "processing.create" : "processing.update", backgroundColor: Colors.white, - title: LocalText( - context, - _isNew ? "processing.create" : "processing.update", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, ), body: Padding( padding: const EdgeInsets.only(left: 12.0, right: 12), diff --git a/lib/pages/processing/processing_info.dart b/lib/pages/processing/processing_info.dart index f0df4d5..cbd5eb6 100644 --- a/lib/pages/processing/processing_info.dart +++ b/lib/pages/processing/processing_info.dart @@ -4,7 +4,7 @@ import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; import 'package:fcs/pages/widgets/progress.dart'; @@ -131,32 +131,23 @@ class _ProcessingInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "processing.info.title", - fontSize: 20, - color: primaryColor, - ), - actions: [ - IconButton( - icon: Icon(Icons.delete, color: primaryColor), - onPressed: _delete, - ), - IconButton( - icon: Icon(Icons.edit, color: primaryColor), - onPressed: _gotoEditor, - ), - ], - ), + appBar: LocalAppBar( + labelKey: "processing.info.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + actions: [ + IconButton( + icon: Icon(Icons.delete, color: primaryColor), + onPressed: _delete, + ), + IconButton( + icon: Icon(Icons.edit, color: primaryColor), + onPressed: _gotoEditor, + ), + ]), body: Card( + elevation: 0, child: Column( children: [ Expanded( @@ -177,9 +168,7 @@ class _ProcessingInfoState extends State { StatusTree( shipmentHistory: _package!.shipmentHistory, currentStatus: _package!.status ?? ""), - SizedBox( - height: 20, - ) + SizedBox(height: 20) ]), )), ], @@ -222,7 +211,7 @@ class _ProcessingInfoState extends State { PackageModel packageModel = Provider.of(context, listen: false); Package? p = await packageModel.getPackage(_package!.id!); - if(p == null)return; + if (p == null) return; initPackage(p); } } diff --git a/lib/pages/processing/processing_list.dart b/lib/pages/processing/processing_list.dart index 4ff7a5e..38816bc 100644 --- a/lib/pages/processing/processing_list.dart +++ b/lib/pages/processing/processing_list.dart @@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/package_search/package_serach.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:fcs/pagination/paginator_listview.dart'; @@ -39,31 +40,16 @@ class _ProcessingListState extends State { 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, - "processing.title", - fontSize: 20, - color: Colors.white, - ), - actions: [ - IconButton( + appBar: LocalAppBar(labelKey: "processing.title", actions: [ + IconButton( icon: Icon( Icons.search, color: Colors.white, ), iconSize: 30, onPressed: () => searchPackage(context, - callbackPackageSelect: _searchCallback), - ), - ], - ), + callbackPackageSelect: _searchCallback)) + ]), floatingActionButton: FloatingActionButton.extended( onPressed: () { _newProcessing(); diff --git a/lib/pages/profile/profile_currency_edit.dart b/lib/pages/profile/profile_currency_edit.dart index db76f8d..2158273 100644 --- a/lib/pages/profile/profile_currency_edit.dart +++ b/lib/pages/profile/profile_currency_edit.dart @@ -1,8 +1,7 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/model/main_model.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:fcs/pages/main/util.dart'; @@ -41,27 +40,11 @@ class _ProfileCurrencyEditState extends State { return LocalProgress( inAsyncCall: _loading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - title: LocalText( - context, - "profile.edit.currency.title", - fontSize: 20, - color: primaryColor, - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - leading: IconButton( - icon: Icon( - CupertinoIcons.back, - size: 35, - color: primaryColor, - ), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - ), + appBar: LocalAppBar( + labelKey: 'profile.edit.currency.title', + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Column( children: [ InkWell( @@ -75,10 +58,10 @@ class _ProfileCurrencyEditState extends State { value: Currency.USD, groupValue: _currency, onChanged: (Currency? value) { - if(value != null) - setState(() { - _currency = value; - }); + if (value != null) + setState(() { + _currency = value; + }); }, ), ), @@ -94,10 +77,10 @@ class _ProfileCurrencyEditState extends State { value: Currency.MMK, groupValue: _currency, onChanged: (Currency? value) { - if(value != null) - setState(() { - _currency = value; - }); + if (value != null) + setState(() { + _currency = value; + }); }, ), ), diff --git a/lib/pages/profile/profile_edit.dart b/lib/pages/profile/profile_edit.dart index 9880a87..3983bda 100644 --- a/lib/pages/profile/profile_edit.dart +++ b/lib/pages/profile/profile_edit.dart @@ -2,9 +2,8 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/main/model/language_model.dart'; import 'package:fcs/pages/main/model/main_model.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:fcs/pages/main/util.dart'; @@ -58,27 +57,11 @@ class _ProfileEditState extends State { return LocalProgress( inAsyncCall: _loading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - title: LocalText( - context, - "profile.edit_title", - fontSize: 20, - color: primaryColor, - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - leading: IconButton( - icon: Icon( - CupertinoIcons.back, - size: 35, - color: primaryColor, - ), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - ), + appBar: LocalAppBar( + labelKey: "profile.edit_title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Column( children: [ Expanded(child: name), diff --git a/lib/pages/profile/profile_page.dart b/lib/pages/profile/profile_page.dart index 64eec41..9745223 100644 --- a/lib/pages/profile/profile_page.dart +++ b/lib/pages/profile/profile_page.dart @@ -12,7 +12,7 @@ import 'package:fcs/pages/staff/model/staff_model.dart'; import 'package:fcs/pages/widgets/defalut_delivery_address.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -128,25 +128,11 @@ class _ProfileState extends State { inAsyncCall: _isLoading, child: Scaffold( key: key, - appBar: AppBar( - centerTitle: true, - leading: IconButton( - icon: Icon( - CupertinoIcons.back, - size: 35, - color: primaryColor, - ), - onPressed: () => Navigator.of(context).pop(), - ), - title: LocalText( - context, - "profile.title", - fontSize: 20, - color: primaryColor, - ), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - ), + appBar: LocalAppBar( + labelKey: "profile.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.all(8.0), child: ListView( diff --git a/lib/pages/rates/cargo_editor.dart b/lib/pages/rates/cargo_editor.dart index 488fe3a..e9db900 100644 --- a/lib/pages/rates/cargo_editor.dart +++ b/lib/pages/rates/cargo_editor.dart @@ -1,10 +1,9 @@ import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -56,27 +55,25 @@ class _CargoEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { + appBar: LocalAppBar( + labelKey: "cargo.form.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); - } - }, - ), - backgroundColor: primaryColor, - title: Text(AppTranslations.of(context)!.text("cargo.form.title")), + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ _isNew ? Container() : IconButton( - icon: Icon(Icons.delete), + icon: Icon(Icons.delete, color: primaryColor), onPressed: _delete, ) ], diff --git a/lib/pages/rates/cargo_type_list.dart b/lib/pages/rates/cargo_type_list.dart index 0fab20a..a9bfe53 100644 --- a/lib/pages/rates/cargo_type_list.dart +++ b/lib/pages/rates/cargo_type_list.dart @@ -1,5 +1,6 @@ import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/helpers/theme.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -35,20 +36,7 @@ class _CargoTypeListState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.pop(context), - ), - backgroundColor: primaryColor, - title: LocalText( - context, - "cargo.form.title", - fontSize: 20, - color: Colors.white, - ), - ), + appBar: LocalAppBar(labelKey: "cargo.form.title"), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.of(context).push( diff --git a/lib/pages/rates/custom_editor.dart b/lib/pages/rates/custom_editor.dart index 972e2bc..cde6be0 100644 --- a/lib/pages/rates/custom_editor.dart +++ b/lib/pages/rates/custom_editor.dart @@ -1,10 +1,9 @@ import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; @@ -64,30 +63,25 @@ class _CustomEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - ), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { + appBar: LocalAppBar( + labelKey: 'rate.custom.form.title', + backgroundColor: Colors.white, + arrowColor: primaryColor, + labelColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); - } - }, - ), - backgroundColor: primaryColor, - title: - Text(AppTranslations.of(context)!.text("rate.custom.form.title")), + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ _isNew ? Container() : IconButton( - icon: Icon(Icons.delete), + icon: Icon(Icons.delete, color: primaryColor), onPressed: _delete, ) ], diff --git a/lib/pages/rates/custom_list.dart b/lib/pages/rates/custom_list.dart index ddcae3d..3d92211 100644 --- a/lib/pages/rates/custom_list.dart +++ b/lib/pages/rates/custom_list.dart @@ -1,6 +1,7 @@ import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/rates/custom_editor.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -39,20 +40,7 @@ class _CustomListState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.pop(context), - ), - backgroundColor: primaryColor, - title: LocalText( - context, - "rate.custom_duty.title", - fontSize: 20, - color: Colors.white, - ), - ), + appBar: LocalAppBar(labelKey: 'rate.custom_duty.title'), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.of(context).push( @@ -81,8 +69,9 @@ class _CustomListState extends State { }, child: Container( child: _row( - custom.name??"", - "Custom Fee \$ " + custom.customDutyFee.toStringAsFixed(2), + custom.name ?? "", + "Custom Fee \$ " + + custom.customDutyFee.toStringAsFixed(2), // ignore: unnecessary_null_comparison custom.rate == null ? "" diff --git a/lib/pages/rates/discount_by weight_list.dart b/lib/pages/rates/discount_by weight_list.dart index ad54af2..5d22343 100644 --- a/lib/pages/rates/discount_by weight_list.dart +++ b/lib/pages/rates/discount_by weight_list.dart @@ -1,6 +1,7 @@ import 'package:fcs/domain/entities/discount_by_weight.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/rates/discount_by_weight_editor.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -35,20 +36,7 @@ class _DiscountByWeightListState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () => Navigator.pop(context), - ), - backgroundColor: primaryColor, - title: LocalText( - context, - "rate.discount_by_weight", - fontSize: 20, - color: Colors.white, - ), - ), + appBar: LocalAppBar(labelKey: 'rate.discount_by_weight'), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.of(context).push(CupertinoPageRoute( @@ -86,7 +74,7 @@ class _DiscountByWeightListState extends State { _row(String desc, String price) { return Container( - padding: EdgeInsets.only(left: 25, top: 5, bottom: 5), + padding: EdgeInsets.only(left: 25, top: 8, bottom: 8), child: Row( children: [ Text('$desc ', style: TextStyle(fontSize: 15)), diff --git a/lib/pages/rates/discount_by_weight_editor.dart b/lib/pages/rates/discount_by_weight_editor.dart index be1a88a..53791a8 100644 --- a/lib/pages/rates/discount_by_weight_editor.dart +++ b/lib/pages/rates/discount_by_weight_editor.dart @@ -1,11 +1,10 @@ import 'package:fcs/domain/entities/discount_by_weight.dart'; import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; @@ -58,27 +57,25 @@ class _DiscountByWeightEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { + appBar: LocalAppBar( + labelKey: 'discount.new', + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); - } - }, - ), - backgroundColor: primaryColor, - title: Text(AppTranslations.of(context)!.text("discount.new")), + }); + } else { + Navigator.of(context).pop(); + } + }, actions: [ _isNew ? Container() : IconButton( - icon: Icon(Icons.delete), + icon: Icon(Icons.delete, color: primaryColor), onPressed: _delete, ) ], diff --git a/lib/pages/rates/shipment_rates.dart b/lib/pages/rates/shipment_rates.dart index 4bf2937..9bb90c7 100644 --- a/lib/pages/rates/shipment_rates.dart +++ b/lib/pages/rates/shipment_rates.dart @@ -6,6 +6,7 @@ import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/rates/cargo_type_list.dart'; import 'package:fcs/pages/rates/custom_list.dart'; import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -46,33 +47,23 @@ class _ShipmentRatesState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () => Navigator.of(context).pop(), - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - title: LocalText(context, 'rate.title', - color: primaryColor, fontSize: 20), - actions: isEditable - ? [ - IconButton( - onPressed: () => Navigator.of(context).push( - CupertinoPageRoute( - builder: (context) => ShipmentRatesEdit())), - icon: Icon( - Icons.edit, - color: primaryColor, - )) - ] - : [], - ), + appBar: LocalAppBar( + labelKey: "rate.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + actions: isEditable + ? [ + IconButton( + onPressed: () => Navigator.of(context).push( + CupertinoPageRoute( + builder: (context) => ShipmentRatesEdit())), + icon: Icon(Icons.edit, color: primaryColor)) + ] + : []), body: Padding( padding: const EdgeInsets.all(8.0), child: ListView( - // crossAxisAlignment: CrossAxisAlignment.center, children: [ fcsButton(context, getLocalString(context, "rate.cal.title"), callack: () { diff --git a/lib/pages/rates/shipment_rates_calculate.dart b/lib/pages/rates/shipment_rates_calculate.dart index 57c3a20..949a2cc 100644 --- a/lib/pages/rates/shipment_rates_calculate.dart +++ b/lib/pages/rates/shipment_rates_calculate.dart @@ -6,6 +6,7 @@ import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/input_text.dart'; import 'package:fcs/pages/widgets/length_picker.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_dropdown.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; @@ -53,9 +54,9 @@ class _ShipmentRatesCalState extends State { _calShipmentWeight() { Rate rate = Provider.of(context, listen: false).rate; - double l = double.parse(_lengthController.text); - double w = double.parse(_widthController.text); - double h = double.parse(_heightController.text); + double l = double.tryParse(_lengthController.text) ?? 0; + double w = double.tryParse(_widthController.text) ?? 0; + double h = double.tryParse(_heightController.text) ?? 0; _cargoType.weight = double.tryParse(_actualWeightCtl.text) ?? 0; Carton box = Carton(cargoTypes: [_cargoType], length: l, width: w, height: h); @@ -137,19 +138,11 @@ class _ShipmentRatesCalState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - backgroundColor: Colors.white, - shadowColor: Colors.transparent, - title: LocalText(context, 'rate.cal.title', - color: primaryColor, fontSize: 20), - ), + appBar: LocalAppBar( + labelKey: "rate.cal.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.all(8.0), child: ListView( diff --git a/lib/pages/rates/shipment_rates_edit.dart b/lib/pages/rates/shipment_rates_edit.dart index f75d316..e61f537 100644 --- a/lib/pages/rates/shipment_rates_edit.dart +++ b/lib/pages/rates/shipment_rates_edit.dart @@ -1,10 +1,9 @@ import 'package:fcs/domain/entities/rate.dart'; import 'package:fcs/helpers/theme.dart'; -import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; import 'package:fcs/pages/widgets/input_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; @@ -73,24 +72,20 @@ class _ShipmentRatesEditState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - ), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { + appBar: LocalAppBar( + labelKey: "rate.edit.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { Navigator.of(context).pop(); - } - }, - ), - backgroundColor: primaryColor, - title: Text(AppTranslations.of(context)!.text("rate.edit.title")), + }); + } else { + Navigator.of(context).pop(); + } + }, ), body: Container( padding: EdgeInsets.all(18), diff --git a/lib/pages/receiving/receiving_editor.dart b/lib/pages/receiving/receiving_editor.dart index 960e0be..c3f66a0 100644 --- a/lib/pages/receiving/receiving_editor.dart +++ b/lib/pages/receiving/receiving_editor.dart @@ -8,11 +8,10 @@ import 'package:fcs/pages/widgets/barcode_scanner.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; import 'package:fcs/pages/widgets/input_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; @@ -143,29 +142,20 @@ class _ReceivingEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: - new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () { - if (isDataChanged()) { - showConfirmDialog(context, "back.button_confirm", () { - Navigator.of(context).pop(); - }); - } else { - Navigator.of(context).pop(); - } - }, - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: _isNew ? "receiving.create" : "receiving.update", backgroundColor: Colors.white, - title: LocalText( - context, - _isNew ? "receiving.create" : "receiving.update", - fontSize: 20, - color: primaryColor, - ), + labelColor: primaryColor, + arrowColor: primaryColor, + onBack: () { + if (isDataChanged()) { + showConfirmDialog(context, "back.button_confirm", () { + Navigator.of(context).pop(); + }); + } else { + Navigator.of(context).pop(); + } + }, ), body: Padding( padding: const EdgeInsets.only(left: 12.0, right: 12), diff --git a/lib/pages/receiving/receiving_info.dart b/lib/pages/receiving/receiving_info.dart index f617f08..689a200 100644 --- a/lib/pages/receiving/receiving_info.dart +++ b/lib/pages/receiving/receiving_info.dart @@ -5,7 +5,7 @@ import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; import 'package:fcs/pages/widgets/fcs_id_icon.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/multi_img_controller.dart'; import 'package:fcs/pages/widgets/multi_img_file.dart'; import 'package:fcs/pages/widgets/progress.dart'; @@ -85,20 +85,11 @@ class _ReceivingInfoState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30), - onPressed: () => Navigator.of(context).pop(), - ), - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: "receiving.info", backgroundColor: Colors.white, - title: LocalText( - context, - "receiving.info", - fontSize: 20, - color: primaryColor, - ), + arrowColor: primaryColor, + labelColor: primaryColor, actions: isCustomer ? null : [ @@ -113,6 +104,7 @@ class _ReceivingInfoState extends State { ], ), body: Card( + elevation: 0, child: Column( children: [ Expanded( diff --git a/lib/pages/receiving/receiving_list.dart b/lib/pages/receiving/receiving_list.dart index 765a675..3a5ee8f 100644 --- a/lib/pages/receiving/receiving_list.dart +++ b/lib/pages/receiving/receiving_list.dart @@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/package_search/package_serach.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:fcs/pagination/paginator_listview.dart'; @@ -29,20 +30,9 @@ class _ReceivingListState extends State { 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, - "receiving.title", - fontSize: 20, - color: Colors.white, - ), - actions: [ + appBar: LocalAppBar( + labelKey: "receiving.title", + actions: [ IconButton( icon: Icon( Icons.search, @@ -51,7 +41,7 @@ class _ReceivingListState extends State { iconSize: 30, onPressed: () => searchPackage(context, callbackPackageSelect: _searchCallback), - ), + ) ], ), floatingActionButton: FloatingActionButton.extended( diff --git a/lib/pages/staff/staff_editor.dart b/lib/pages/staff/staff_editor.dart index 6a31f78..d5531b8 100644 --- a/lib/pages/staff/staff_editor.dart +++ b/lib/pages/staff/staff_editor.dart @@ -6,9 +6,8 @@ import 'package:fcs/pages/main/model/language_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/staff/model/staff_model.dart'; import 'package:fcs/pages/widgets/display_text.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/progress.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -37,8 +36,8 @@ class _StaffEditorState extends State { isNew = widget.staff == null; user = User(); if (!isNew) { - user = - User(name: widget.staff!.name, phoneNumber: widget.staff!.phoneNumber); + user = User( + name: widget.staff!.name, phoneNumber: widget.staff!.phoneNumber); user.privileges = widget.staff!.privileges; privileges.forEach((p) => user.privileges.contains(p.id) ? p.isChecked = true @@ -64,11 +63,12 @@ class _StaffEditorState extends State { new Checkbox( value: p.isChecked == null ? false : p.isChecked, activeColor: primaryColor, + side: BorderSide(color: Colors.black38, width: 2), onChanged: (bool? value) { - if(value != null) - setState(() { - p.isChecked = value; - }); + if (value != null) + setState(() { + p.isChecked = value; + }); }), Padding( padding: const EdgeInsets.only(right: 8.0), @@ -79,7 +79,7 @@ class _StaffEditorState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ new Text( - p.name ??"", + p.name ?? "", style: TextStyle(fontSize: 15.0, color: primaryColor), ), Text(p.desc ?? "", @@ -169,23 +169,11 @@ class _StaffEditorState extends State { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( - appBar: AppBar( - centerTitle: true, - leading: new IconButton( - icon: new Icon(CupertinoIcons.back, - color: primaryColor, size: 30), - onPressed: () { - Navigator.of(context).pop(); - }), - shadowColor: Colors.transparent, - backgroundColor: Colors.white, - title: LocalText( - context, - "staff.form.title", - fontSize: 20, - color: primaryColor, - ), - ), + appBar: LocalAppBar( + labelKey: "staff.form.title", + backgroundColor: Colors.white, + labelColor: primaryColor, + arrowColor: primaryColor), body: Padding( padding: const EdgeInsets.only(left: 12.0, right: 12), child: ListView( @@ -197,7 +185,7 @@ class _StaffEditorState extends State { namebox, Padding( padding: const EdgeInsets.only(top: 18.0), - child: Text("Privileges"), + child: Text("Privileges", style: TextStyle(fontSize: 15)), ), Column( children: showprivilegeList(context), @@ -227,7 +215,8 @@ class _StaffEditorState extends State { }); StaffModel staffModel = Provider.of(context, listen: false); try { - await staffModel.updatePrivileges(this.selectedUser!.id!, privilegesIDs()); + await staffModel.updatePrivileges( + this.selectedUser!.id!, privilegesIDs()); Navigator.pop(context); } catch (e) { showMsgDialog(context, "Error", e.toString()); diff --git a/lib/pages/staff/staff_list.dart b/lib/pages/staff/staff_list.dart index 560097c..fc7c7a6 100644 --- a/lib/pages/staff/staff_list.dart +++ b/lib/pages/staff/staff_list.dart @@ -1,6 +1,7 @@ import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/staff/model/staff_model.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; @@ -35,20 +36,7 @@ class _StaffListState extends State { 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, - 'staff.list.title', - color: Colors.white, - fontSize: 20, - ), - ), + appBar: LocalAppBar(labelKey: "staff.list.title"), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.of(context).push( diff --git a/lib/pages/term/term_edit.dart b/lib/pages/term/term_edit.dart index 1039dc9..1d62d9a 100644 --- a/lib/pages/term/term_edit.dart +++ b/lib/pages/term/term_edit.dart @@ -1,4 +1,3 @@ - import 'package:fcs/domain/vo/term.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/util.dart'; @@ -69,11 +68,7 @@ class _TermEditState extends State { color: primaryColor, ), leading: IconButton( - icon: Icon( - CupertinoIcons.back, - color: primaryColor, - size: 30, - ), + icon: Icon(CupertinoIcons.back, color: primaryColor, size: 25), onPressed: () { Navigator.of(context).pop(); }, @@ -85,7 +80,8 @@ class _TermEditState extends State { onPressed: _unfocus, icon: Icon(Icons.check, color: primaryColor)) ], - bottom: TabBar( + bottom: TabBar.secondary( + indicatorColor: primaryColor, onTap: (index) { if (index == 0) { _focusNodeEng = new FocusNode(); @@ -119,12 +115,15 @@ class _TermEditState extends State { height: MediaQuery.of(context).size.height - 200, child: TabBarView( children: [ + const SizedBox(), + const SizedBox(), // textEditor(_controllerEng, _focusNodeEng), // textEditor(_controllerMm, _focusNodeMm), ], ), ), savebtn, + const SizedBox(height: 20) ], ), ), diff --git a/lib/pages/term/term_page.dart b/lib/pages/term/term_page.dart index d9db1c8..aeb9592 100644 --- a/lib/pages/term/term_page.dart +++ b/lib/pages/term/term_page.dart @@ -1,10 +1,9 @@ - import 'package:fcs/domain/entities/setting.dart'; import 'package:fcs/domain/vo/term.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/term/term_edit.dart'; -import 'package:fcs/pages/widgets/local_text.dart'; +import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -51,23 +50,11 @@ class _TermPageState extends State { bool isEditable = context.select((MainModel m) => m.termEditable()); return Scaffold( - appBar: AppBar( - shadowColor: Colors.transparent, + appBar: LocalAppBar( + labelKey: 'term', backgroundColor: Colors.white, - centerTitle: true, - leading: new IconButton( - icon: new Icon( - CupertinoIcons.back, - color: primaryColor, - ), - onPressed: () => Navigator.of(context).pop(), - ), - title: LocalText( - context, - 'term', - color: primaryColor, - fontSize: 20, - ), + labelColor: primaryColor, + arrowColor: primaryColor, actions: isEditable ? [ IconButton( @@ -76,10 +63,7 @@ class _TermPageState extends State { builder: (context) => TermEdit(term: Term.fromSetting(setting!)), )), - icon: Icon( - Icons.edit, - color: primaryColor, - )) + icon: Icon(Icons.edit, color: primaryColor)) ] : [], ), diff --git a/lib/pages/user_search/user_serach.dart b/lib/pages/user_search/user_serach.dart index b8e6584..e892d03 100644 --- a/lib/pages/user_search/user_serach.dart +++ b/lib/pages/user_search/user_serach.dart @@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/package/model/package_model.dart'; import 'package:fcs/pages/user_search/user_list_row.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -30,13 +31,15 @@ class UserSearchDelegate extends SearchDelegate { final ThemeData theme = Theme.of(context); return theme.copyWith( appBarTheme: AppBarTheme(color: primaryColor), + iconButtonTheme: IconButtonThemeData( + style: ButtonStyle( + iconColor: MaterialStateProperty.all(Colors.white))), inputDecorationTheme: InputDecorationTheme( border: InputBorder.none, - hintStyle: TextStyle( - color: theme.primaryTextTheme.caption?.color, fontSize: 14)), + hintStyle: TextStyle(color: Colors.grey, fontSize: 14)), textTheme: TextTheme( - headline1: TextStyle( - color: theme.primaryTextTheme.headline1?.color, + displayLarge: TextStyle( + color: theme.primaryTextTheme.displayLarge?.color, fontSize: 16, backgroundColor: primaryColor)), primaryColor: primaryColor, @@ -56,7 +59,7 @@ class UserSearchDelegate extends SearchDelegate { @override Widget buildLeading(BuildContext context) { return IconButton( - icon: Icon(Icons.arrow_back), + icon: Icon(CupertinoIcons.back), onPressed: () => close(context, new User()), ); } diff --git a/lib/pages/widgets/defalut_delivery_address.dart b/lib/pages/widgets/defalut_delivery_address.dart index 1ccd543..29bc003 100644 --- a/lib/pages/widgets/defalut_delivery_address.dart +++ b/lib/pages/widgets/defalut_delivery_address.dart @@ -15,7 +15,11 @@ class DefaultDeliveryAddress extends StatelessWidget { final IconData? iconData; const DefaultDeliveryAddress( - {Key? key, this.deliveryAddress, this.onTap, this.labelKey, this.iconData}) + {Key? key, + this.deliveryAddress, + this.onTap, + this.labelKey, + this.iconData}) : super(key: key); @override @@ -38,6 +42,9 @@ class DefaultDeliveryAddress extends StatelessWidget { : GestureDetector( onTap: () => onTap!(), child: Chip( + shape: const StadiumBorder( + side: BorderSide(color: Colors.transparent)), + backgroundColor: Colors.grey.withOpacity(0.3), label: LocalText( context, "delivery_address.change_address", color: primaryColor)), diff --git a/lib/pages/widgets/length_picker.dart b/lib/pages/widgets/length_picker.dart index 8726dfa..09a9f89 100644 --- a/lib/pages/widgets/length_picker.dart +++ b/lib/pages/widgets/length_picker.dart @@ -1,8 +1,6 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/widgets/local_text.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'input_text.dart'; @@ -268,6 +266,7 @@ class _LengthPickerDialogState extends State { ), ), Slider( + inactiveColor: Colors.grey.shade200, activeColor: primaryColor, value: _valueFeet.toDouble() > MAX_FEET ? 0 @@ -296,6 +295,7 @@ class _LengthPickerDialogState extends State { ), ), Slider( + inactiveColor: Colors.grey.shade200, activeColor: primaryColor, value: _valueInc.toDouble() > (widget.displayFeet! ? 11 : MAX_INC) ? 0 diff --git a/lib/pages/widgets/local_app_bar.dart b/lib/pages/widgets/local_app_bar.dart index a709794..22bc3c0 100644 --- a/lib/pages/widgets/local_app_bar.dart +++ b/lib/pages/widgets/local_app_bar.dart @@ -1,7 +1,6 @@ import 'package:fcs/helpers/theme.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; - import 'local_text.dart'; class LocalAppBar extends StatelessWidget implements PreferredSizeWidget { @@ -12,6 +11,7 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget { final List? actions; final Widget? titleWidget; final Function()? onBack; + final bool centerTitle; const LocalAppBar( {Key? key, @@ -21,7 +21,8 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget { this.arrowColor = Colors.white, this.actions, this.titleWidget, - this.onBack}) + this.onBack, + this.centerTitle = true}) : super(key: key); @override @@ -31,21 +32,23 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget { Widget build(BuildContext context) { return AppBar( elevation: 0, - centerTitle: true, + centerTitle: centerTitle, leading: IconButton( icon: Icon(CupertinoIcons.back, color: arrowColor, size: 25), - onPressed: onBack), + onPressed: () { + if (onBack != null) { + onBack!(); + } else { + Navigator.of(context).pop(); + } + }), shadowColor: Colors.transparent, backgroundColor: backgroundColor, surfaceTintColor: backgroundColor, title: titleWidget ?? (labelKey != null - ? LocalText( - context, - labelKey!, - color: Colors.white, - fontSize: 20, - ) + ? LocalText(context, labelKey!, + color: labelColor ?? Colors.white, fontSize: 20) : const SizedBox()), actions: actions, ); diff --git a/lib/pages/widgets/status_tree.dart b/lib/pages/widgets/status_tree.dart index 30eef59..8625a91 100644 --- a/lib/pages/widgets/status_tree.dart +++ b/lib/pages/widgets/status_tree.dart @@ -19,6 +19,7 @@ class StatusTree extends StatelessWidget { Widget build(BuildContext context) { return ExpansionTile( initiallyExpanded: true, + shape: Border.symmetric(horizontal: BorderSide(color: Colors.grey.shade300)), title: Text( 'Status', style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold), diff --git a/lib/pagination/paginator_listview.dart b/lib/pagination/paginator_listview.dart index 29110bc..52d4033 100644 --- a/lib/pagination/paginator_listview.dart +++ b/lib/pagination/paginator_listview.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; +import '../helpers/theme.dart'; import 'paginator_listener.dart'; typedef RowBuilder = Widget Function(dynamic); @@ -81,7 +82,7 @@ class _PaginatorListViewState extends State> { }, child: ListView.separated( separatorBuilder: (context, index) => - Divider(height: 1, color: Colors.black), + Divider(height: 1, color: dividerColor), controller: widget._scrollController, scrollDirection: Axis.vertical, physics: const AlwaysScrollableScrollPhysics(),