Revert "chore: Follow up chat appbar actions"

This reverts commit 08ca53a46d.
This commit is contained in:
krille-chan 2023-12-28 19:12:00 +01:00
parent fb98e3cf22
commit 2fadb64bc0
No known key found for this signature in database

View file

@ -24,6 +24,8 @@ import '../../utils/stream_extension.dart';
import 'chat_emoji_picker.dart'; import 'chat_emoji_picker.dart';
import 'chat_input_row.dart'; import 'chat_input_row.dart';
enum _EventContextAction { info, report }
class ChatView extends StatelessWidget { class ChatView extends StatelessWidget {
final ChatController controller; final ChatController controller;
@ -58,30 +60,54 @@ class ChatView extends StatelessWidget {
onPressed: controller.pinEvent, onPressed: controller.pinEvent,
tooltip: L10n.of(context)!.pinMessage, tooltip: L10n.of(context)!.pinMessage,
), ),
if (controller.selectedEvents.length == 1) ...[ if (controller.canRedactSelectedEvents)
IconButton( IconButton(
icon: const Icon(Icons.info_outlined), icon: const Icon(Icons.delete_outlined),
tooltip: L10n.of(context)!.messageInfo, tooltip: L10n.of(context)!.redactMessage,
onPressed: controller.showEventInfo, onPressed: controller.redactEventsAction,
), ),
IconButton( if (controller.selectedEvents.length == 1)
icon: const Icon( PopupMenuButton<_EventContextAction>(
Icons.shield_outlined, onSelected: (action) {
color: Colors.orange, switch (action) {
), case _EventContextAction.info:
tooltip: L10n.of(context)!.reportMessage, controller.showEventInfo();
onPressed: controller.reportEventAction, controller.clearSelectedEvents();
), break;
if (controller.canRedactSelectedEvents) case _EventContextAction.report:
IconButton( controller.reportEventAction();
icon: Icon( break;
Icons.delete_outlined, }
color: Theme.of(context).colorScheme.error, },
itemBuilder: (context) => [
PopupMenuItem(
value: _EventContextAction.info,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
const Icon(Icons.info_outlined),
const SizedBox(width: 12),
Text(L10n.of(context)!.messageInfo),
],
),
), ),
tooltip: L10n.of(context)!.redactMessage, if (controller.selectedEvents.single.status.isSent)
onPressed: controller.redactEventsAction, PopupMenuItem(
), value: _EventContextAction.report,
], child: Row(
mainAxisSize: MainAxisSize.min,
children: [
const Icon(
Icons.shield_outlined,
color: Colors.red,
),
const SizedBox(width: 12),
Text(L10n.of(context)!.reportMessage),
],
),
),
],
),
]; ];
} else if (!controller.room.isArchived) { } else if (!controller.room.isArchived) {
return [ return [
@ -152,14 +178,7 @@ class ChatView extends StatelessWidget {
), ),
titleSpacing: 0, titleSpacing: 0,
title: ChatAppBarTitle(controller), title: ChatAppBarTitle(controller),
actions: _appBarActions(context) actions: _appBarActions(context),
.map(
(icon) => Padding(
padding: const EdgeInsets.only(left: 8),
child: icon,
),
)
.toList(),
), ),
floatingActionButton: controller.showScrollDownButton && floatingActionButton: controller.showScrollDownButton &&
controller.selectedEvents.isEmpty controller.selectedEvents.isEmpty