add contact
This commit is contained in:
149
lib/fcs/common/pages/faq/faq_edit_page.dart
Normal file
149
lib/fcs/common/pages/faq/faq_edit_page.dart
Normal file
@@ -0,0 +1,149 @@
|
||||
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/util.dart';
|
||||
import 'package:fcs/fcs/common/pages/widgets/input_text.dart';
|
||||
import 'package:fcs/fcs/common/pages/widgets/progress.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
|
||||
class FAQEditor extends StatefulWidget {
|
||||
final FAQ faq;
|
||||
const FAQEditor({this.faq});
|
||||
@override
|
||||
_FAQEditorState createState() => _FAQEditorState();
|
||||
}
|
||||
|
||||
class _FAQEditorState extends State<FAQEditor> {
|
||||
TextEditingController _engQ = new TextEditingController();
|
||||
TextEditingController _mmQ = new TextEditingController();
|
||||
TextEditingController _engA = new TextEditingController();
|
||||
TextEditingController _mmA = new TextEditingController();
|
||||
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
bool _isLoading = false;
|
||||
bool _isNew = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_isNew = widget.faq == null;
|
||||
if (widget.faq != null) {
|
||||
_engQ.text = widget.faq.questionEng;
|
||||
_mmQ.text = widget.faq.questionMm;
|
||||
_engA.text = widget.faq.answerEng;
|
||||
_mmA.text = widget.faq.answerMm;
|
||||
}
|
||||
}
|
||||
|
||||
@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,
|
||||
);
|
||||
|
||||
return LocalProgress(
|
||||
inAsyncCall: _isLoading,
|
||||
child: CupertinoPageScaffold(
|
||||
child: NestedScrollView(
|
||||
headerSliverBuilder:
|
||||
(BuildContext context, bool innerBoxIsScrolled) {
|
||||
return <Widget>[
|
||||
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: Text(
|
||||
AppTranslations.of(context)
|
||||
.text(_isNew?'faq.add.title':'faq.edit.title'),
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
)),
|
||||
),
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () => _submit(),
|
||||
icon: Icon(
|
||||
Icons.save,
|
||||
color: Colors.white,
|
||||
))
|
||||
],
|
||||
),
|
||||
];
|
||||
},
|
||||
body: Material(
|
||||
child: Form(
|
||||
key: _formKey,
|
||||
child: ListView(
|
||||
shrinkWrap: true,
|
||||
padding: EdgeInsets.only(left: 24.0, right: 24.0),
|
||||
children: <Widget>[
|
||||
itemTitle(context, "faq.edit.eng"),
|
||||
subItemTitle(context, "faq.edit.question"),
|
||||
usaPhoneBox,
|
||||
subItemTitle(context, "faq.edit.answer"),
|
||||
mmPhoneBox,
|
||||
Divider(),
|
||||
itemTitle(context, "faq.edit.mm"),
|
||||
subItemTitle(context, "faq.edit.question"),
|
||||
usaAddreesBox,
|
||||
subItemTitle(context, "faq.edit.answer"),
|
||||
mmAddressBox,
|
||||
],
|
||||
),
|
||||
),
|
||||
))));
|
||||
}
|
||||
|
||||
_submit() async {
|
||||
setState(() {
|
||||
_isLoading = true;
|
||||
});
|
||||
try {
|
||||
widget.faq.questionEng = _engQ.text;
|
||||
// var contactModel = Provider.of<ContactModel>(context, listen: false);
|
||||
// await contactModel.saveContact(widget.contact);
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
showMsgDialog(context, "Error", e.toString());
|
||||
} finally {
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user