1
1
import 'package:flutter/material.dart' ;
2
2
3
+ import 'package:shimmer/shimmer.dart' ;
4
+
3
5
import 'package:flutter_client/models/message_outgoing.dart' ;
6
+ import 'package:flutter_client/theme.dart' ;
4
7
5
8
import 'chat_message.dart' ;
6
9
@@ -35,16 +38,7 @@ class ChatMessageOutgoing extends StatelessWidget implements ChatMessage {
35
38
child: CircleAvatar (child: Text (_name[0 ])),
36
39
),
37
40
Expanded (
38
- child: Column (
39
- crossAxisAlignment: CrossAxisAlignment .start,
40
- children: < Widget > [
41
- Text (_name, style: Theme .of (context).textTheme.subhead),
42
- Container (
43
- margin: EdgeInsets .only (top: 5.0 ),
44
- child: Text (message.text),
45
- ),
46
- ],
47
- ),
41
+ child: _getMessageContent (context),
48
42
),
49
43
Container (
50
44
child: Icon (message.status == MessageOutgoingStatus .SENT
@@ -56,4 +50,25 @@ class ChatMessageOutgoing extends StatelessWidget implements ChatMessage {
56
50
),
57
51
);
58
52
}
53
+
54
+ Widget _getMessageContent (BuildContext context) {
55
+ var content = Column (
56
+ crossAxisAlignment: CrossAxisAlignment .start,
57
+ children: < Widget > [
58
+ Text (_name, style: Theme .of (context).textTheme.subhead),
59
+ Container (
60
+ margin: EdgeInsets .only (top: 5.0 ),
61
+ child: Text (message.text),
62
+ ),
63
+ ],
64
+ );
65
+ if (message.status != MessageOutgoingStatus .SENT ) {
66
+ return Shimmer .fromColors (
67
+ baseColor: shimmerBaseColor,
68
+ highlightColor: shimmerHighlightColor,
69
+ child: content,
70
+ );
71
+ }
72
+ return content;
73
+ }
59
74
}
0 commit comments