@@ -17,26 +17,15 @@ import '../widgets/widgets.dart';
17
17
import 'pages.dart' ;
18
18
19
19
class ChatPage extends StatefulWidget {
20
- final String peerId;
21
- final String peerAvatar;
22
- final String peerNickname;
20
+ ChatPage ({Key ? key, required this .arguments}) : super (key: key);
23
21
24
- ChatPage ({ Key ? key, required this .peerId, required this .peerAvatar, required this .peerNickname}) : super (key : key) ;
22
+ final ChatPageArguments arguments ;
25
23
26
24
@override
27
- State createState () => ChatPageState (
28
- peerId: this .peerId,
29
- peerAvatar: this .peerAvatar,
30
- peerNickname: this .peerNickname,
31
- );
25
+ ChatPageState createState () => ChatPageState ();
32
26
}
33
27
34
28
class ChatPageState extends State <ChatPage > {
35
- ChatPageState ({Key ? key, required this .peerId, required this .peerAvatar, required this .peerNickname});
36
-
37
- String peerId;
38
- String peerAvatar;
39
- String peerNickname;
40
29
late String currentUserId;
41
30
42
31
List <QueryDocumentSnapshot > listMessage = [];
@@ -95,6 +84,7 @@ class ChatPageState extends State<ChatPage> {
95
84
(Route <dynamic > route) => false ,
96
85
);
97
86
}
87
+ String peerId = widget.arguments.peerId;
98
88
if (currentUserId.compareTo (peerId) > 0 ) {
99
89
groupChatId = '$currentUserId -$peerId ' ;
100
90
} else {
@@ -153,7 +143,7 @@ class ChatPageState extends State<ChatPage> {
153
143
void onSendMessage (String content, int type) {
154
144
if (content.trim ().isNotEmpty) {
155
145
textEditingController.clear ();
156
- chatProvider.sendMessage (content, type, groupChatId, currentUserId, peerId);
146
+ chatProvider.sendMessage (content, type, groupChatId, currentUserId, widget.arguments. peerId);
157
147
listScrollController.animateTo (0 , duration: Duration (milliseconds: 300 ), curve: Curves .easeOut);
158
148
} else {
159
149
Fluttertoast .showToast (msg: 'Nothing to send' , backgroundColor: ColorConstants .greyColor);
@@ -265,7 +255,7 @@ class ChatPageState extends State<ChatPage> {
265
255
isLastMessageLeft (index)
266
256
? Material (
267
257
child: Image .network (
268
- peerAvatar,
258
+ widget.arguments. peerAvatar,
269
259
loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent ? loadingProgress) {
270
260
if (loadingProgress == null ) return child;
271
261
return Center (
@@ -438,7 +428,7 @@ class ChatPageState extends State<ChatPage> {
438
428
return Scaffold (
439
429
appBar: AppBar (
440
430
title: Text (
441
- this .peerNickname,
431
+ this .widget.arguments. peerNickname,
442
432
style: TextStyle (color: ColorConstants .primaryColor),
443
433
),
444
434
centerTitle: true ,
@@ -689,3 +679,11 @@ class ChatPageState extends State<ChatPage> {
689
679
);
690
680
}
691
681
}
682
+
683
+ class ChatPageArguments {
684
+ final String peerId;
685
+ final String peerAvatar;
686
+ final String peerNickname;
687
+
688
+ ChatPageArguments ({required this .peerId, required this .peerAvatar, required this .peerNickname});
689
+ }
0 commit comments