feat: update dependencies, ui and linting

This commit is contained in:
Gordon Hayes
2021-11-15 12:19:31 +01:00
parent 575fa4863b
commit f9df3647a0
16 changed files with 332 additions and 315 deletions
+36 -18
View File
@@ -1,21 +1,26 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:imessage/cutom_painter.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart' show Message;
import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart'
show Message;
class MessageWidget extends StatelessWidget {
final Alignment alignment;
final EdgeInsets margin;
final Message message;
final Color color;
final Color messageColor;
final bool hasTail;
const MessageWidget(
{Key? key,
required this.alignment,
required this.message,
required this.color,
required this.messageColor})
: super(key: key);
const MessageWidget({
Key? key,
required this.alignment,
required this.margin,
required this.message,
required this.color,
required this.messageColor,
this.hasTail = false,
}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -25,10 +30,13 @@ class MessageWidget extends StatelessWidget {
color: color, message: message, messageColor: messageColor);
} else {
return MessageText(
alignment: alignment,
color: color,
message: message,
messageColor: messageColor);
alignment: alignment,
margin: margin,
color: color,
message: message,
messageColor: messageColor,
hasTail: hasTail,
);
}
}
}
@@ -102,35 +110,45 @@ class MessageText extends StatelessWidget {
const MessageText({
Key? key,
required this.alignment,
required this.margin,
required this.color,
required this.message,
required this.messageColor,
required this.hasTail,
}) : super(key: key);
final Alignment alignment;
final Color color;
final Message message;
final Color messageColor;
final EdgeInsets margin;
final bool hasTail;
@override
Widget build(BuildContext context) {
if (message.text?.isEmpty ?? true) {
return const SizedBox.shrink();
}
return Padding(
padding: const EdgeInsets.all(8.0),
padding: const EdgeInsets.only(top: 1),
child: Align(
alignment:
alignment, //Change this to Alignment.topRight or Alignment.topLeft
child: CustomPaint(
painter: ChatBubble(color: color, alignment: alignment),
painter:
ChatBubble(color: color, alignment: alignment, hasTail: hasTail),
child: Container(
margin: const EdgeInsets.fromLTRB(16.0, 8.0, 16.0, 8.0),
margin: margin,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Container(
ConstrainedBox(
constraints: BoxConstraints(
maxWidth: MediaQuery.of(context).size.width * 0.65),
maxWidth: MediaQuery.of(context).size.width * 0.65,
),
child: Padding(
padding: const EdgeInsets.all(4.0),
padding: const EdgeInsets.symmetric(
horizontal: 6.0, vertical: 4),
child: Text(
message.text!,
style: TextStyle(color: messageColor),