mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Highlight active user / group in memberships panel
This commit is contained in:
@ -9,6 +9,7 @@ import 'package:comunic/lists/users_list.dart';
|
||||
import 'package:comunic/models/friend.dart';
|
||||
import 'package:comunic/models/membership.dart';
|
||||
import 'package:comunic/ui/routes/main_route/main_route.dart';
|
||||
import 'package:comunic/ui/routes/main_route/page_info.dart';
|
||||
import 'package:comunic/ui/widgets/account_image_widget.dart';
|
||||
import 'package:comunic/ui/widgets/group_icon_widget.dart';
|
||||
import 'package:comunic/ui/widgets/group_membership_widget.dart';
|
||||
@ -23,6 +24,14 @@ import 'package:flutter/material.dart';
|
||||
/// @author Pierre Hubert
|
||||
|
||||
class MembershipsPanel extends StatefulWidget {
|
||||
final PageInfo currentPage;
|
||||
|
||||
const MembershipsPanel({
|
||||
Key key,
|
||||
@required this.currentPage,
|
||||
}) : assert(currentPage != null),
|
||||
super(key: key);
|
||||
|
||||
@override
|
||||
_MembershipsPanelState createState() => _MembershipsPanelState();
|
||||
}
|
||||
@ -127,11 +136,17 @@ class _MembershipsPanelState extends SafeState<MembershipsPanel> {
|
||||
style: TextStyle(color: connected ? Colors.green : null),
|
||||
);
|
||||
|
||||
return ListTile(
|
||||
leading: AccountImageWidget(user: user, width: _MembershipIconsWidth),
|
||||
title: Text(user.displayName),
|
||||
subtitle: subtitle,
|
||||
onTap: () => MainController.of(context).openUserPage(user.id),
|
||||
return Container(
|
||||
color: widget.currentPage.type == PageType.USER_PAGE &&
|
||||
widget.currentPage.id == user.id
|
||||
? Colors.grey.shade800
|
||||
: null,
|
||||
child: ListTile(
|
||||
leading: AccountImageWidget(user: user, width: _MembershipIconsWidth),
|
||||
title: Text(user.displayName),
|
||||
subtitle: subtitle,
|
||||
onTap: () => MainController.of(context).openUserPage(user.id),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@ -150,14 +165,20 @@ class _MembershipsPanelState extends SafeState<MembershipsPanel> {
|
||||
subtitle = Text(diffTimeFromNowToStr(membership.lastActive));
|
||||
}
|
||||
|
||||
return ListTile(
|
||||
leading: GroupIcon(
|
||||
group: group,
|
||||
width: _MembershipIconsWidth,
|
||||
return Container(
|
||||
color: widget.currentPage.type == PageType.GROUP_PAGE &&
|
||||
widget.currentPage.id == group.id
|
||||
? Colors.grey.shade800
|
||||
: null,
|
||||
child: ListTile(
|
||||
leading: GroupIcon(
|
||||
group: group,
|
||||
width: _MembershipIconsWidth,
|
||||
),
|
||||
title: Text(group.displayName),
|
||||
subtitle: subtitle,
|
||||
onTap: () => MainController.of(context).openGroup(group.id),
|
||||
),
|
||||
title: Text(group.displayName),
|
||||
subtitle: subtitle,
|
||||
onTap: () => MainController.of(context).openGroup(group.id),
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user