Merge pull request #4680 from 21pages/visit

fix group visit
This commit is contained in:
RustDesk
2023-06-17 23:45:57 +08:00
committed by GitHub
6 changed files with 101 additions and 49 deletions

View File

@@ -15,19 +15,19 @@ class HttpType {
}
class UserPayload {
String id = '';
String name = '';
String email = '';
String note = '';
int? status;
String grp = '';
bool isAdmin = false;
UserPayload.fromJson(Map<String, dynamic> json)
: name = json['name'] ?? '',
: id = json['id'] ?? '',
name = json['name'] ?? '',
email = json['email'] ?? '',
note = json['note'] ?? '',
status = json['status'],
grp = json['grp'] ?? '',
isAdmin = json['is_admin'] == true;
}

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_hbb/common/hbbs/hbbs.dart';
import 'package:flutter_hbb/common/widgets/peers_view.dart';
import 'package:get/get.dart';
@@ -37,13 +38,13 @@ class _MyGroupState extends State<MyGroup> {
Future<Widget> buildBody(BuildContext context) async {
return Obx(() {
if (gFFI.groupModel.userLoading.value) {
if (gFFI.groupModel.groupLoading.value) {
return const Center(
child: CircularProgressIndicator(),
);
}
if (gFFI.groupModel.userLoadError.isNotEmpty) {
return _buildShowError(gFFI.groupModel.userLoadError.value);
if (gFFI.groupModel.groupLoadError.isNotEmpty) {
return _buildShowError(gFFI.groupModel.groupLoadError.value);
}
if (isDesktop) {
return _buildDesktop();
@@ -187,16 +188,17 @@ class _MyGroupState extends State<MyGroup> {
}
return true;
})
.map((e) => _buildUserItem(e.name))
.map((e) => _buildUserItem(e))
.toList());
});
}
Widget _buildUserItem(String username) {
Widget _buildUserItem(UserPayload user) {
final username = user.name;
return InkWell(onTap: () {
if (selectedUser.value != username) {
selectedUser.value = username;
gFFI.groupModel.pullUserPeers(username);
gFFI.groupModel.pullUserPeers(user);
}
}, child: Obx(
() {

View File

@@ -231,7 +231,9 @@ class _PeerTabPageState extends State<PeerTabPage>
if (model.visibleOrderedTabs.contains(model.currentTab)) {
child = entries[model.currentTab].widget;
} else {
model.setCurrentTab(model.visibleOrderedTabs[0]);
Future.delayed(Duration.zero, () {
model.setCurrentTab(model.visibleOrderedTabs[0]);
});
child = entries[0].widget;
}
}