diff --git a/lib/fcs/common/helpers/theme.dart b/lib/fcs/common/helpers/theme.dart index 996cca8..a14073b 100644 --- a/lib/fcs/common/helpers/theme.dart +++ b/lib/fcs/common/helpers/theme.dart @@ -11,9 +11,9 @@ const buttonBkColor = const Color(0xFF268944); const labelColor = const Color(0xFF757575); const TextStyle labelStyle = - TextStyle(fontSize: 23, color: primaryColor, fontWeight: FontWeight.w500); + TextStyle(fontSize: 20, color: primaryColor, fontWeight: FontWeight.w500); const TextStyle labelStyleMM = TextStyle( - fontSize: 23, + fontSize: 20, color: primaryColor, fontWeight: FontWeight.w500, fontFamily: "MyanmarUnicode"); diff --git a/lib/fcs/common/pages/contact/widgets.dart b/lib/fcs/common/pages/contact/widgets.dart index d9ebc32..1c068ca 100644 --- a/lib/fcs/common/pages/contact/widgets.dart +++ b/lib/fcs/common/pages/contact/widgets.dart @@ -14,13 +14,18 @@ Widget itemTitle(BuildContext context, String textKey) { ); } -Widget subItemTitle(BuildContext context, String textKey) { +Widget subItemTitle(BuildContext context, String textKey,{IconData iconData}) { return Padding( - padding: const EdgeInsets.only(left: 38.0, top: 5, bottom: 0), - child: Text( - AppTranslations.of(context).text(textKey), - style: TextStyle( - fontWeight: FontWeight.w700, fontSize: 15, color: Colors.grey), + padding: const EdgeInsets.only(left: 0, top: 0, bottom: 0), + child: Row( + children: [ + Icon(iconData,color: primaryColor,),SizedBox(width:10), + Text( + AppTranslations.of(context).text(textKey), + style: TextStyle( + fontWeight: FontWeight.w700, fontSize: 15, color: primaryColor), + ), + ], ), ); } diff --git a/lib/fcs/common/pages/faq/faq_edit_page.dart b/lib/fcs/common/pages/faq/faq_edit_page.dart index 4a21887..d3bca39 100644 --- a/lib/fcs/common/pages/faq/faq_edit_page.dart +++ b/lib/fcs/common/pages/faq/faq_edit_page.dart @@ -1,7 +1,7 @@ import 'package:fcs/fcs/common/domain/entities/faq.dart'; import 'package:fcs/fcs/common/helpers/theme.dart'; import 'package:fcs/fcs/common/localization/app_translations.dart'; -import 'package:fcs/fcs/common/pages/contact/widgets.dart'; +import 'package:fcs/fcs/common/pages/faq/widgets.dart'; import 'package:fcs/fcs/common/pages/util.dart'; import 'package:fcs/fcs/common/pages/widgets/input_text.dart'; import 'package:fcs/fcs/common/pages/widgets/progress.dart'; @@ -41,25 +41,21 @@ class _FAQEditorState extends State { @override Widget build(BuildContext context) { final usaPhoneBox = InputText( - iconData: SimpleLineIcons.question, controller: _engQ, maxLines: 2, withBorder: true, ); final mmPhoneBox = InputText( - iconData: MaterialCommunityIcons.message_reply_text, controller: _mmQ, maxLines: 5, withBorder: true, ); final usaAddreesBox = InputText( - iconData: SimpleLineIcons.question, controller: _engA, maxLines: 2, withBorder: true, ); final mmAddressBox = InputText( - iconData: MaterialCommunityIcons.message_reply_text, controller: _mmA, maxLines: 5, withBorder: true, @@ -112,16 +108,16 @@ class _FAQEditorState extends State { shrinkWrap: true, padding: EdgeInsets.only(left: 24.0, right: 24.0), children: [ - itemTitle(context, "faq.edit.eng"), - subItemTitle(context, "faq.edit.question"), + Center(child: itemTitle(context, "faq.edit.eng")), + subItemTitle(context, "faq.edit.question",iconData: SimpleLineIcons.question), usaPhoneBox, - subItemTitle(context, "faq.edit.answer"), + subItemTitle(context, "faq.edit.answer",iconData: MaterialCommunityIcons.message_reply_text), mmPhoneBox, Divider(), - itemTitle(context, "faq.edit.mm"), - subItemTitle(context, "faq.edit.question"), + Center(child: itemTitle(context, "faq.edit.mm")), + subItemTitle(context, "faq.edit.question",iconData: SimpleLineIcons.question), usaAddreesBox, - subItemTitle(context, "faq.edit.answer"), + subItemTitle(context, "faq.edit.answer",iconData: MaterialCommunityIcons.message_reply_text), mmAddressBox, ], ), diff --git a/lib/fcs/common/pages/faq/faq_page.dart b/lib/fcs/common/pages/faq/faq_page.dart index 7c898dd..3233f43 100644 --- a/lib/fcs/common/pages/faq/faq_page.dart +++ b/lib/fcs/common/pages/faq/faq_page.dart @@ -39,6 +39,65 @@ class _FAQPageState extends State { @override Widget build(BuildContext context) { + return Scaffold( + body: CustomScrollView( + slivers: [ + SliverAppBar( + leading: IconButton( + icon: Icon( + CupertinoIcons.back, + size: 30, + ), + onPressed: () => Navigator.of(context).pop(), + ), + backgroundColor: primaryColor, + expandedHeight: 150.0, + floating: false, + pinned: true, + flexibleSpace: FlexibleSpaceBar( + centerTitle: true, + titlePadding: EdgeInsets.symmetric(vertical: 10), + title: Text(AppTranslations.of(context).text('faq.title'), + style: TextStyle( + color: Colors.white, + )), + ), + actions: [ + IconButton( + onPressed: () => + Navigator.of(context).push(CupertinoPageRoute( + builder: (context) => FAQEditor(), + )), + icon: Icon( + CupertinoIcons.add, + color: Colors.white, + size: 35, + )) + ], + ), + SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) => _faqItem(context, faqs[index]), + childCount: faqs.length, + ), +) + + // SliverFillRemaining( + // child: Padding( + // padding: const EdgeInsets.only(left: 18.0, right: 18), + // child: ListView.separated ( + // separatorBuilder: (_, i) => Divider(), + // itemCount: faqs.length, + // itemBuilder: (BuildContext ctxt, int index) { + // return _faqItem(context, faqs[index]); + // }), + // )), + ], + )); + } + + @override + Widget build1(BuildContext context) { Setting setting = Provider.of(context).setting; return Scaffold( body: NestedScrollView( @@ -93,32 +152,37 @@ class _FAQPageState extends State { Widget _faqItem(BuildContext context, FAQ faq) { bool isEng = Provider.of(context).isEng; - return InkWell( - onTap: () { - Navigator.of(context).push(CupertinoPageRoute( - builder: (context) => FAQDetailPage( - faq: faq, - ), - )); - }, - child: Container( - padding: EdgeInsets.all(15), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - TextLocalStyle( - context, - faq.question(isEng), - fontSize: 16, + return Column( + children: [ + InkWell( + onTap: () { + Navigator.of(context).push(CupertinoPageRoute( + builder: (context) => FAQDetailPage( + faq: faq, ), - Spacer(), - Icon( - CupertinoIcons.right_chevron, - color: primaryColor, - size: 22, - ) - ], - )), + )); + }, + child: Container( + padding: EdgeInsets.all(15), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + TextLocalStyle( + context, + faq.question(isEng), + fontSize: 16, + ), + Spacer(), + Icon( + CupertinoIcons.right_chevron, + color: primaryColor, + size: 22, + ) + ], + )), + ), + Divider(), + ], ); } } diff --git a/lib/fcs/common/pages/faq/widgets.dart b/lib/fcs/common/pages/faq/widgets.dart new file mode 100644 index 0000000..1f7140c --- /dev/null +++ b/lib/fcs/common/pages/faq/widgets.dart @@ -0,0 +1,97 @@ + import 'package:fcs/fcs/common/helpers/theme.dart'; +import 'package:fcs/fcs/common/localization/app_translations.dart'; +import 'package:fcs/fcs/common/pages/widgets/local_text.dart'; +import 'package:flutter/material.dart'; + +Widget itemTitle(BuildContext context, String textKey) { + return Padding( + padding: const EdgeInsets.only(left: 18.0, top: 15, bottom: 0), + child: Text( + AppTranslations.of(context).text(textKey), + style: TextStyle( + fontWeight: FontWeight.bold, fontSize: 18, color: Colors.black), + ), + ); + } + +Widget subItemTitle(BuildContext context, String textKey,{IconData iconData}) { + return Padding( + padding: const EdgeInsets.only(left: 0, top: 0, bottom: 0), + child: Row( + children: [ + Icon(iconData,color: primaryColor,),SizedBox(width:10), + Text( + AppTranslations.of(context).text(textKey), + style: TextStyle( + fontWeight: FontWeight.w700, fontSize: 15, color: primaryColor), + ), + ], + ), + ); + } + + Widget contactItem(BuildContext context, String text, IconData iconData, + {Function() onTap, String labelKey}) { + return Material( + child: Padding( + padding: const EdgeInsets.only(left: 18.0, bottom: 10, right: 18), + child: Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.grey, width: 0.8), + borderRadius: BorderRadius.all( + Radius.circular(5.0) // <--- border radius here + ), + ), + child: InkWell( + onTap: () => onTap != null ? onTap() : null, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + iconData, + color: primaryColor, + ), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + labelKey == null + ? Container() + : Padding( + padding: EdgeInsets.fromLTRB(10, 10, 10, 0), + child: LocalText(context, labelKey, + color: primaryColor, fontWeight: FontWeight.w500,fontSize: 18), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + text == null ? "" : text, + overflow: TextOverflow.ellipsis, + maxLines: 5, + style: TextStyle( + fontSize: 14.0, + ), + ), + ), + ], + ), + SizedBox( + width: 5, + ), + onTap == null + ? Container() + : Icon( + Icons.open_in_new, + color: Colors.grey, + size: 15, + ) + ], + ), + )), + ), + ), + ); + } \ No newline at end of file diff --git a/lib/fcs/common/pages/splash_page.dart b/lib/fcs/common/pages/splash_page.dart index 656fe32..23cb7b6 100644 --- a/lib/fcs/common/pages/splash_page.dart +++ b/lib/fcs/common/pages/splash_page.dart @@ -81,7 +81,7 @@ class _SplashScreenState extends State { style: welcomeLabelStyle, ), Text( - "by FCS Trading", + "by FCS Logistics", style: welcomeSubLabelStyle, ), ], diff --git a/lib/fcs/common/pages/term/term_page.dart b/lib/fcs/common/pages/term/term_page.dart index af8e3e8..9bb8e7f 100644 --- a/lib/fcs/common/pages/term/term_page.dart +++ b/lib/fcs/common/pages/term/term_page.dart @@ -48,9 +48,67 @@ class _TermPageState extends State { @override Widget build(BuildContext context) { + Setting setting = Provider.of(context).setting; + return CupertinoPageScaffold( + child: CustomScrollView(slivers: [ + SliverAppBar( + leading: IconButton( + icon: Icon( + CupertinoIcons.back, + size: 30, + ), + onPressed: () => Navigator.of(context).pop(), + ), + backgroundColor: primaryColor, + expandedHeight: 150.0, + floating: true, + pinned: true, + flexibleSpace: FlexibleSpaceBar( + centerTitle: true, + titlePadding: EdgeInsets.symmetric(vertical: 10), + title: LocalLargeTitle( + context, + "term", + color: Colors.white, + ), + ), + actions: [ + IconButton( + onPressed: () => + Navigator.of(context).push(CupertinoPageRoute( + builder: (context) => + TermEdit(term: Term.fromSetting(setting)), + )), + icon: Icon( + CupertinoIcons.pen, + color: Colors.white, + )) + ], + ), + SliverFillRemaining(child: ZefyrTheme( + data: ZefyrThemeData().copyWith( + defaultLineTheme: LineTheme( + textStyle: TextStyle(color: Colors.black), + padding: EdgeInsets.all(0))), + child: ZefyrScaffold( + child: ZefyrEditor( + mode: ZefyrMode.view, + padding: EdgeInsets.all(16), + controller: ZefyrController(_loadDocument(setting)), + focusNode: _focusNode, + ), + )) + + ), + ])); + } + + @override + Widget build1(BuildContext context) { Setting setting = Provider.of(context).setting; return CupertinoPageScaffold( child: NestedScrollView( + floatHeaderSlivers: false, headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) { return [ SliverAppBar( diff --git a/lib/fcs/common/pages/util.dart b/lib/fcs/common/pages/util.dart index edf5c67..4b9d268 100644 --- a/lib/fcs/common/pages/util.dart +++ b/lib/fcs/common/pages/util.dart @@ -1,4 +1,6 @@ import 'package:fcs/fcs/common/localization/app_translations.dart'; +import 'package:fcs/fcs/common/pages/model/language_model.dart'; +import 'package:fcs/fcs/common/pages/widgets/local_text.dart'; import 'package:fcs/widget/label_widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_colorpicker/flutter_colorpicker.dart'; @@ -8,13 +10,11 @@ import 'package:url_launcher/url_launcher.dart'; import 'package:fcs/model/announcement_model.dart'; import 'package:fcs/model/buyer_model.dart'; import 'package:fcs/model/do_model.dart'; -import 'package:fcs/model/language_model.dart'; import 'package:fcs/model/notification_model.dart'; import 'package:fcs/model/po_model.dart'; import 'package:fcs/model/user_model.dart'; import 'package:fcs/fcs/common/helpers/theme.dart'; import 'package:fcs/vo/buyer.dart'; -import 'package:fcs/widget/local_text.dart'; import 'package:fcs/vo/notification.dart' as Noti; import '../../../pages/announcement.dart'; diff --git a/lib/fcs/common/pages/widgets/input_text.dart b/lib/fcs/common/pages/widgets/input_text.dart index 0b306cb..9cb4f8c 100644 --- a/lib/fcs/common/pages/widgets/input_text.dart +++ b/lib/fcs/common/pages/widgets/input_text.dart @@ -37,8 +37,14 @@ class InputText extends StatelessWidget { style: textStyle, maxLines: maxLines, decoration: new InputDecoration( - labelText:labelTextKey==null?null: AppTranslations.of(context).text(labelTextKey), - labelStyle: languageModel.isEng ? labelStyle : labelStyleMM, + hintText: '', + hintStyle: TextStyle( + height: 2.5, + ), + labelText: labelTextKey == null + ? null + : AppTranslations.of(context).text(labelTextKey), + labelStyle: languageModel.isEng ? labelStyle : labelStyleMM, icon: iconData == null ? null : Icon(