Browse Source

add check is group owner and manager

pull/18/head
Sun 4 years ago
parent
commit
2af8ad0cc5
  1. 5
      lib/apps/group_chat/detail.dart
  2. 10
      lib/apps/group_chat/provider.dart

5
lib/apps/group_chat/detail.dart

@ -205,9 +205,8 @@ class _GroupChatDetailState extends State<GroupChatDetail> { @@ -205,9 +205,8 @@ class _GroupChatDetailState extends State<GroupChatDetail> {
final meName = context.read<AccountProvider>().activedAccount.name;
this.group = provider.activedGroup;
final isGroupOwner = true;
final isGroupManager = true;
final isGroupOwner = provider.isActivedGroupOwner;
final isGroupManager = provider.isActivedGroupManager;
if (this.group == null) {
return Container(

10
lib/apps/group_chat/provider.dart

@ -3,6 +3,7 @@ import "dart:collection"; @@ -3,6 +3,7 @@ import "dart:collection";
import 'package:flutter/material.dart';
import 'package:esse/rpc.dart';
import 'package:esse/global.dart';
import 'package:esse/apps/primitives.dart';
import 'package:esse/apps/group_chat/models.dart';
@ -21,6 +22,15 @@ class GroupChatProvider extends ChangeNotifier { @@ -21,6 +22,15 @@ class GroupChatProvider extends ChangeNotifier {
SplayTreeMap<int, Member> activedMembers = SplayTreeMap();
GroupChat get activedGroup => this.groups[this.actived];
bool get isActivedGroupOwner => this.activedGroup.owner == Global.gid;
bool get isActivedGroupManager {
this.activedMembers.values.forEach((m) {
if (m.mid == Global.gid) {
return m.isManager;
}
});
return false;
}
GroupChatProvider() {
// rpc.

Loading…
Cancel
Save