feat: update dependencies, ui and linting
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user