add pinlogin_page and prepare profile

This commit is contained in:
sma
2024-02-14 16:54:38 +06:30
parent 7f3492fdf9
commit a66ecff159
6 changed files with 240 additions and 47 deletions

View File

@@ -13,6 +13,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/local_app_bar.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';
@@ -62,9 +63,11 @@ class _ProfileState extends State<Profile> {
@override
Widget build(BuildContext context) {
MainModel mainModel = Provider.of<MainModel>(context);
LanguageModel languageModel = Provider.of<LanguageModel>(context);
if (mainModel.user == null) {
return Container();
}
buildLanguage(languageModel);
DeliveryAddressModel deliveryAddressModel =
Provider.of<DeliveryAddressModel>(context);
@@ -172,6 +175,12 @@ class _ProfileState extends State<Profile> {
builder: (context) => DeliveryAddressList()));
},
),
buildLanguageWidget(
context: context,
text: "profile.language",
iconData: Icons.language,
isEng: languageModel.isEng,
),
getPrivilegeBox(context),
SizedBox(height: 15),
logoutbutton,
@@ -183,6 +192,69 @@ class _ProfileState extends State<Profile> {
);
}
Widget buildLanguageWidget(
{required String text,
required BuildContext context,
IconData? iconData,
required bool isEng}) {
return Row(
children: <Widget>[
Icon(iconData, color: primaryColor),
const SizedBox(width: 15),
Expanded(
child: LocalText(
context,
text,
fontSize: 15.0,
color: Colors.black54,
),
),
Row(
children: [
isEng
? Image.asset(
'icons/flags/png/us.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
)
: Image.asset(
'icons/flags/png/mm.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
),
Container(
width: 100,
padding: const EdgeInsets.only(left: 15),
child: DropdownButton(
value: selectedLanguage,
underline: const SizedBox(),
isExpanded: true,
items: languagesList
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(
value,
style: const TextStyle(fontSize: 14),
));
}).toList(),
onChanged: _selectedDropdown)),
],
)
],
);
}
_selectedDropdown(selected) {
var languageModel = Provider.of<LanguageModel>(context, listen: false);
languageModel.saveLanguage(selected);
setState(() {
selectedLanguage = selected;
});
}
Widget getPrivilegeBox(BuildContext context) {
User? user = Provider.of<MainModel>(context, listen: false).user;
List<Privilege> _privileges =