fix address book state

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2023-06-21 18:28:52 +08:00
parent eb686e2728
commit 321f193f4d
4 changed files with 30 additions and 43 deletions

View File

@@ -30,43 +30,28 @@ class _AddressBookState extends State<AddressBook> {
}
@override
Widget build(BuildContext context) => Obx(() => Offstage(
offstage: stateGlobal.svcStatus.value != SvcStatus.ready,
child: FutureBuilder<Widget>(
future: buildBody(context),
builder: (context, snapshot) {
if (snapshot.hasData) {
return snapshot.data!;
} else {
return const Offstage();
}
}),
));
Future<Widget> buildBody(BuildContext context) async {
return Obx(() {
if (gFFI.userModel.userName.value.isEmpty) {
return Center(
child: ElevatedButton(
onPressed: loginDialog, child: Text(translate("Login"))));
} else {
if (gFFI.abModel.abLoading.value) {
return const Center(
child: CircularProgressIndicator(),
);
Widget build(BuildContext context) => Obx(() {
if (gFFI.userModel.userName.value.isEmpty) {
return Center(
child: ElevatedButton(
onPressed: loginDialog, child: Text(translate("Login"))));
} else {
if (gFFI.abModel.abLoading.value) {
return const Center(
child: CircularProgressIndicator(),
);
}
if (gFFI.abModel.abError.isNotEmpty) {
return _buildShowError(gFFI.abModel.abError.value);
}
if (gFFI.abModel.fromServer.isFalse) {
return Offstage();
}
return isDesktop
? _buildAddressBookDesktop()
: _buildAddressBookMobile();
}
if (gFFI.abModel.abError.isNotEmpty) {
return _buildShowError(gFFI.abModel.abError.value);
}
if (gFFI.abModel.fromServer.isFalse) {
return Offstage();
}
return isDesktop
? _buildAddressBookDesktop()
: _buildAddressBookMobile();
}
});
}
});
Widget _buildShowError(String error) {
return Center(

View File

@@ -526,9 +526,7 @@ Future<bool?> loginDialog() async {
});
if (res != null) {
// update ab and group status
await gFFI.abModel.pullAb();
await gFFI.groupModel.pull();
await UserModel.updateOtherModels();
}
return res;