mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Added conversation message statistics
This commit is contained in:
@ -18,9 +18,11 @@ enum _MenuChoices {
|
||||
COPY_URL,
|
||||
COPY_MESSAGE,
|
||||
DELETE,
|
||||
REQUEST_UPDATE_CONTENT
|
||||
REQUEST_UPDATE_CONTENT,
|
||||
GET_STATS,
|
||||
}
|
||||
|
||||
typedef OnRequestMessageStats = void Function(ConversationMessage);
|
||||
typedef OnRequestMessageUpdate = void Function(ConversationMessage);
|
||||
typedef OnRequestMessageDelete = void Function(ConversationMessage);
|
||||
|
||||
@ -30,6 +32,7 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
final User userInfo;
|
||||
final bool isLastMessage;
|
||||
final bool isFirstMessage;
|
||||
final OnRequestMessageStats onRequestMessageStats;
|
||||
final OnRequestMessageUpdate onRequestMessageUpdate;
|
||||
final OnRequestMessageDelete onRequestMessageDelete;
|
||||
|
||||
@ -40,12 +43,14 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
@required this.userInfo,
|
||||
@required this.isLastMessage,
|
||||
@required this.isFirstMessage,
|
||||
@required this.onRequestMessageStats,
|
||||
@required this.onRequestMessageUpdate,
|
||||
@required this.onRequestMessageDelete,
|
||||
}) : assert(message != null),
|
||||
assert(userInfo != null),
|
||||
assert(isLastMessage != null),
|
||||
assert(isFirstMessage != null),
|
||||
assert(onRequestMessageStats != null),
|
||||
assert(onRequestMessageUpdate != null),
|
||||
assert(onRequestMessageDelete != null),
|
||||
super(key: key);
|
||||
@ -66,7 +71,6 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
width: 35.0,
|
||||
),
|
||||
itemBuilder: (c) => [
|
||||
|
||||
PopupMenuItem(
|
||||
enabled: (message.message?.content ?? "") != "",
|
||||
value: _MenuChoices.COPY_MESSAGE,
|
||||
@ -78,6 +82,12 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
value: _MenuChoices.COPY_URL,
|
||||
child: Text(tr("Copy URL")),
|
||||
),
|
||||
|
||||
PopupMenuItem(
|
||||
value: _MenuChoices.GET_STATS,
|
||||
child: Text(tr("Statistics")),
|
||||
),
|
||||
|
||||
// Update message content
|
||||
PopupMenuItem(
|
||||
enabled: message.isOwner,
|
||||
@ -275,6 +285,10 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
FlutterClipboard.copy(message.file.url);
|
||||
break;
|
||||
|
||||
case _MenuChoices.GET_STATS:
|
||||
onRequestMessageStats(message);
|
||||
break;
|
||||
|
||||
case _MenuChoices.REQUEST_UPDATE_CONTENT:
|
||||
onRequestMessageUpdate(message);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user