add id for new groups
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
|
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
|
||||||
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
import 'main.dart';
|
import 'main.dart';
|
||||||
import 'neumorphic_button.dart';
|
import 'neumorphic_button.dart';
|
||||||
@@ -21,8 +22,6 @@ class _GroupChatDetailsScreenState extends State<GroupChatDetailsScreen> {
|
|||||||
|
|
||||||
TextEditingController _groupNameController;
|
TextEditingController _groupNameController;
|
||||||
|
|
||||||
Channel _channel;
|
|
||||||
|
|
||||||
bool _isGroupNameEmpty = true;
|
bool _isGroupNameEmpty = true;
|
||||||
|
|
||||||
int get _totalUsers => _selectedUsers.length;
|
int get _totalUsers => _selectedUsers.length;
|
||||||
@@ -39,7 +38,6 @@ class _GroupChatDetailsScreenState extends State<GroupChatDetailsScreen> {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_channel = StreamChat.of(context).client.channel('messaging');
|
|
||||||
_selectedUsers.addAll(widget.selectedUsers);
|
_selectedUsers.addAll(widget.selectedUsers);
|
||||||
_groupNameController = TextEditingController()
|
_groupNameController = TextEditingController()
|
||||||
..addListener(_groupNameListener);
|
..addListener(_groupNameListener);
|
||||||
@@ -47,8 +45,8 @@ class _GroupChatDetailsScreenState extends State<GroupChatDetailsScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
_groupNameController?.clear();
|
|
||||||
_groupNameController?.removeListener(_groupNameListener);
|
_groupNameController?.removeListener(_groupNameListener);
|
||||||
|
_groupNameController?.clear();
|
||||||
_groupNameController?.dispose();
|
_groupNameController?.dispose();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
@@ -114,15 +112,16 @@ class _GroupChatDetailsScreenState extends State<GroupChatDetailsScreen> {
|
|||||||
? null
|
? null
|
||||||
: () async {
|
: () async {
|
||||||
final groupName = _groupNameController.text;
|
final groupName = _groupNameController.text;
|
||||||
final client = _channel.client;
|
final client = StreamChat.of(context).client;
|
||||||
_channel.extraData = {
|
final channel = client
|
||||||
|
.channel('messaging', id: Uuid().v4(), extraData: {
|
||||||
'members': [
|
'members': [
|
||||||
client.state.user.id,
|
client.state.user.id,
|
||||||
..._selectedUsers.map((e) => e.id),
|
..._selectedUsers.map((e) => e.id),
|
||||||
],
|
],
|
||||||
'name': groupName,
|
'name': groupName,
|
||||||
};
|
});
|
||||||
await _channel.watch();
|
await channel.watch();
|
||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
..pop()
|
..pop()
|
||||||
..pushReplacement(
|
..pushReplacement(
|
||||||
@@ -130,7 +129,7 @@ class _GroupChatDetailsScreenState extends State<GroupChatDetailsScreen> {
|
|||||||
builder: (context) {
|
builder: (context) {
|
||||||
return StreamChannel(
|
return StreamChannel(
|
||||||
child: ChannelPage(),
|
child: ChannelPage(),
|
||||||
channel: _channel,
|
channel: channel,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: example
|
name: example
|
||||||
description: A new Flutter project.
|
description: A new Flutter project.
|
||||||
version: 1.0.63+65
|
version: 1.0.64+66
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.2.2 <3.0.0"
|
sdk: ">=2.2.2 <3.0.0"
|
||||||
@@ -15,6 +15,7 @@ dependencies:
|
|||||||
flutter_svg: ^0.19.1
|
flutter_svg: ^0.19.1
|
||||||
flutter_secure_storage: ^3.3.5
|
flutter_secure_storage: ^3.3.5
|
||||||
yaml: ^2.2.1
|
yaml: ^2.2.1
|
||||||
|
uuid: ^2.2.2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user