chore: migrate and update tests.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2023-06-20 14:43:13 +05:30
committed by xsahil03x
parent 84b50fc852
commit c6f64fdc96
25 changed files with 311 additions and 412 deletions
@@ -61,7 +61,6 @@ class StreamMessageWidget extends StatefulWidget {
this.showInChannelIndicator = false,
this.onReplyTap,
this.onThreadTap,
this.onConfirmDeleteTap,
this.showUsername = true,
this.showTimestamp = true,
this.showReactions = true,
@@ -79,7 +78,6 @@ class StreamMessageWidget extends StatefulWidget {
this.onMessageActions,
this.onShowMessage,
this.userAvatarBuilder,
this.quotedMessageBuilder,
this.editMessageInputBuilder,
this.textBuilder,
@Deprecated('''
@@ -309,11 +307,6 @@ class StreamMessageWidget extends StatefulWidget {
/// {@endtemplate}
final void Function(Message)? onReplyTap;
/// {@template onDeleteTap}
/// The function called when delete confirmation button is tapped.
/// {@endtemplate}
final Future<void> Function(Message)? onConfirmDeleteTap;
/// {@template editMessageInputBuilder}
/// Widget builder for edit message layout
/// {@endtemplate}
@@ -355,11 +348,6 @@ class StreamMessageWidget extends StatefulWidget {
/// {@endtemplate}
final Widget Function(BuildContext, User)? userAvatarBuilder;
/// {@template quotedMessageBuilder}
/// Widget builder for building quoted message
/// {@endtemplate}
final Widget Function(BuildContext, Message)? quotedMessageBuilder;
/// {@template message}
/// The message to display.
/// {@endtemplate}
@@ -580,10 +568,8 @@ class StreamMessageWidget extends StatefulWidget {
void Function(User)? onMentionTap,
void Function(Message)? onThreadTap,
void Function(Message)? onReplyTap,
Future<void> Function(Message)? onConfirmDeleteTap,
Widget Function(BuildContext, Message)? editMessageInputBuilder,
Widget Function(BuildContext, Message)? textBuilder,
Widget Function(BuildContext, Message)? quotedMessageBuilder,
@Deprecated('''
Use [bottomRowBuilderWithDefaultWidget] instead.
Will be removed in the next major version.
@@ -673,11 +659,9 @@ class StreamMessageWidget extends StatefulWidget {
onMentionTap: onMentionTap ?? this.onMentionTap,
onThreadTap: onThreadTap ?? this.onThreadTap,
onReplyTap: onReplyTap ?? this.onReplyTap,
onConfirmDeleteTap: onConfirmDeleteTap ?? this.onConfirmDeleteTap,
editMessageInputBuilder:
editMessageInputBuilder ?? this.editMessageInputBuilder,
textBuilder: textBuilder ?? this.textBuilder,
quotedMessageBuilder: quotedMessageBuilder ?? this.quotedMessageBuilder,
bottomRowBuilderWithDefaultWidget: _bottomRowBuilderWithDefaultWidget,
onMessageActions: onMessageActions ?? this.onMessageActions,
message: message ?? this.message,
@@ -760,13 +744,11 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
/// {@endtemplate}
bool get hasQuotedMessage => widget.message.quotedMessage != null;
bool get isSendFailed => widget.message.status == MessageSendingStatus.failed;
bool get isSendFailed => widget.message.state.isSendingFailed;
bool get isUpdateFailed =>
widget.message.status == MessageSendingStatus.failed_update;
bool get isUpdateFailed => widget.message.state.isUpdatingFailed;
bool get isDeleteFailed =>
widget.message.status == MessageSendingStatus.failed_delete;
bool get isDeleteFailed => widget.message.state.isDeletingFailed;
/// {@template isFailedState}
/// Whether the message has failed to be sent, updated, or deleted.
@@ -973,7 +955,6 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
borderSide: widget.borderSide,
borderRadiusGeometry: widget.borderRadiusGeometry,
textBuilder: widget.textBuilder,
quotedMessageBuilder: widget.quotedMessageBuilder,
onLinkTap: widget.onLinkTap,
onMentionTap: widget.onMentionTap,
onQuotedMessageTap: widget.onQuotedMessageTap,
@@ -1090,14 +1071,12 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
leading: StreamSvgIcon.iconSendMessage(),
title: Text(
context.translations.toggleResendOrResendEditedMessage(
isUpdateFailed:
widget.message.status == MessageSendingStatus.failed,
isUpdateFailed: widget.message.state.isUpdatingFailed,
),
),
onClick: () {
Navigator.of(context, rootNavigator: true).pop();
final isUpdateFailed =
widget.message.status == MessageSendingStatus.failed_update;
final isUpdateFailed = widget.message.state.isUpdatingFailed;
final channel = StreamChannel.of(context).channel;
if (isUpdateFailed) {
channel.updateMessage(widget.message);
@@ -1115,21 +1094,16 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
),
onClick: () async {
Navigator.of(context, rootNavigator: true).pop();
final deleted = await showDialog<bool?>(
final deleted = await showDialog(
context: context,
barrierDismissible: false,
builder: (_) => const DeleteMessageDialog(),
);
if (deleted == true) {
if (deleted) {
try {
final onConfirmDeleteTap = widget.onConfirmDeleteTap;
if (onConfirmDeleteTap != null) {
await onConfirmDeleteTap(widget.message);
} else {
await StreamChannel.of(context)
.channel
.deleteMessage(widget.message);
}
await StreamChannel.of(context)
.channel
.deleteMessage(widget.message);
} catch (e) {
showDialog(
context: context,
@@ -1150,8 +1124,7 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
}
void onLongPress(BuildContext context) {
if (widget.message.isEphemeral ||
widget.message.status == MessageSendingStatus.sending) {
if (widget.message.isEphemeral || widget.message.state.isOutgoing) {
return;
}
@@ -1187,8 +1160,8 @@ class _StreamMessageWidgetState extends State<StreamMessageWidget>
translateUserAvatar: false,
showSendingIndicator: false,
padding: EdgeInsets.zero,
showReactionPickerIndicator: widget.showReactions &&
(widget.message.status == MessageSendingStatus.sent),
showReactionPickerIndicator:
widget.showReactions && widget.message.state.isCompleted,
showPinHighlight: false,
showUserAvatar:
widget.message.user!.id == channel.client.state.currentUser!.id
@@ -63,7 +63,6 @@ class MessageWidgetContent extends StatelessWidget {
this.onMentionTap,
this.onLinkTap,
this.textBuilder,
this.quotedMessageBuilder,
@Deprecated('''
Use [bottomRowBuilderWithDefaultWidget] instead.
Will be removed in the next major version.
@@ -171,9 +170,6 @@ class MessageWidgetContent extends StatelessWidget {
/// {@macro textBuilder}
final Widget Function(BuildContext, Message)? textBuilder;
/// {@macro quotedMessageBuilder}
final Widget Function(BuildContext, Message)? quotedMessageBuilder;
/// {@macro showReactionPickerIndicator}
final bool showReactionPickerIndicator;
@@ -355,8 +351,6 @@ class MessageWidgetContent extends StatelessWidget {
onMentionTap: onMentionTap,
onLinkTap: onLinkTap,
textBuilder: textBuilder,
quotedMessageBuilder:
quotedMessageBuilder,
borderRadiusGeometry:
borderRadiusGeometry,
borderSide: borderSide,
@@ -458,7 +452,7 @@ class MessageWidgetContent extends StatelessWidget {
showSendingIndicator: false,
padding: EdgeInsets.zero,
showReactionPickerIndicator:
showReactions && (message.status == MessageSendingStatus.sent),
showReactions && message.state.isCompleted,
showPinHighlight: false,
showUserAvatar:
message.user!.id == channel.client.state.currentUser!.id
@@ -57,7 +57,7 @@ class StreamMessageReactionsModal extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
if ((showReactions ?? hasReactionPermission) &&
(message.status == MessageSendingStatus.sent))
message.state.isCompleted)
LayoutBuilder(
builder: (context, constraints) {
return Align(
@@ -42,25 +42,21 @@ class SendingIndicatorBuilder extends StatelessWidget {
final channel = this.channel ?? StreamChannel.of(context).channel;
final memberCount = channel.memberCount ?? 0;
if (hasNonUrlAttachments &&
(message.status == MessageSendingStatus.sending ||
message.status == MessageSendingStatus.updating)) {
if (hasNonUrlAttachments && message.state.isOutgoing) {
final totalAttachments = message.attachments.length;
final uploadRemaining =
message.attachments.where((it) => !it.uploadState.isSuccess).length;
if (uploadRemaining == 0) {
return StreamSvgIcon.check(
size: style!.fontSize,
color: IconTheme.of(context).color!.withOpacity(0.5),
final attachmentsToUpload = message.attachments.where((it) {
return !it.uploadState.isSuccess;
});
if (attachmentsToUpload.isNotEmpty) {
return Text(
context.translations.attachmentsUploadProgressText(
remaining: attachmentsToUpload.length,
total: totalAttachments,
),
style: style,
);
}
return Text(
context.translations.attachmentsUploadProgressText(
remaining: uploadRemaining,
total: totalAttachments,
),
style: style,
);
}
return BetterStreamBuilder<List<Read>>(