Skip to content

Commit f893b0f

Browse files
committed
add secondaryCallback
1 parent c1ef794 commit f893b0f

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

packages/flutter_chat_ui/lib/src/chat.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ class Chat extends StatefulWidget {
4747
/// Callback triggered when a message is tapped.
4848
final OnMessageTapCallback? onMessageTap;
4949

50-
/// Callback triggered when a message is long-pressed.
51-
final OnMessageLongPressCallback? onMessageLongPress;
50+
/// Callback triggered when a message is long-pressed or right-clicked.
51+
final OnMessageSecondaryCallback? onMessageSecondary;
5252

5353
/// Callback triggered when the attachment button in the composer is tapped.
5454
final OnAttachmentTapCallback? onAttachmentTap;
@@ -78,7 +78,7 @@ class Chat extends StatefulWidget {
7878
this.theme,
7979
this.onMessageSend,
8080
this.onMessageTap,
81-
this.onMessageLongPress,
81+
this.onMessageSecondary,
8282
this.onAttachmentTap,
8383
this.backgroundColor,
8484
this.decoration,
@@ -149,7 +149,7 @@ class _ChatState extends State<Chat> with WidgetsBindingObserver {
149149
Provider.value(value: _timeFormat),
150150
Provider.value(value: widget.onMessageSend),
151151
Provider.value(value: widget.onMessageTap),
152-
Provider.value(value: widget.onMessageLongPress),
152+
Provider.value(value: widget.onMessageSecondary),
153153
Provider.value(value: widget.onAttachmentTap),
154154
ChangeNotifierProvider(create: (_) => ComposerHeightNotifier()),
155155
ChangeNotifierProvider(create: (_) => LoadMoreNotifier()),

packages/flutter_chat_ui/lib/src/chat_message/chat_message.dart

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class ChatMessage extends StatelessWidget {
124124
Widget build(BuildContext context) {
125125
final onMessageTap = context.read<OnMessageTapCallback?>();
126126
final onMessageDoubleTap = context.read<OnMessageDoubleTapCallback?>();
127-
final onMessageLongPress = context.read<OnMessageLongPressCallback?>();
127+
final onMessageSecondary = context.read<OnMessageSecondaryCallback?>();
128128
final isSentByMe = context.read<UserID>() == message.authorId;
129129

130130
final curvedAnimation = CurvedAnimation(
@@ -134,7 +134,14 @@ class ChatMessage extends StatelessWidget {
134134

135135
final resolvedPadding = padding ?? _resolveDefaultPadding(context);
136136

137-
final Widget messageWidget = Column(
137+
void secondaryCallback(details) => onMessageSecondary?.call(
138+
context,
139+
message,
140+
index: index,
141+
details: details,
142+
);
143+
144+
final messageWidget = Column(
138145
mainAxisSize: MainAxisSize.min,
139146
children: [
140147
if (headerWidget != null)
@@ -156,13 +163,8 @@ class ChatMessage extends StatelessWidget {
156163
),
157164
onDoubleTap:
158165
() => onMessageDoubleTap?.call(context, message, index: index),
159-
onLongPressStart:
160-
(details) => onMessageLongPress?.call(
161-
context,
162-
message,
163-
index: index,
164-
details: details,
165-
),
166+
onLongPressStart: (details) => secondaryCallback,
167+
onMessageSecondary: secondaryCallback,
166168
child: FadeTransition(
167169
opacity: curvedAnimation,
168170
child: SizeTransition(

packages/flutter_chat_ui/lib/src/utils/typedefs.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ typedef OnMessageTapCallback =
1818
typedef OnMessageDoubleTapCallback =
1919
void Function(BuildContext context, Message message, {int index});
2020

21-
/// Callback signature for when a message is long-pressed.
21+
/// Callback signature for when a message is long-pressed or right-clicked.
2222
/// [context] is the BuildContext from the widget tree where the long press occurs.
2323
/// Provides the long-pressed [message], its [index], and [LongPressStartDetails].
24-
typedef OnMessageLongPressCallback =
24+
typedef OnMessageSecondaryCallback =
2525
void Function(
2626
BuildContext context,
2727
Message message, {

0 commit comments

Comments
 (0)