feat: move reply button to chat view header (#1733)

pull/1605/head
ggurdin 9 months ago committed by GitHub
parent 65149bb1fa
commit ad241aa631
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:animations/animations.dart'; import 'package:animations/animations.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:matrix/matrix.dart'; import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/app_config.dart';
@ -111,7 +110,7 @@ class ChatInputRow extends StatelessWidget {
], ],
), ),
), ),
) ),
// #Pangea // #Pangea
// else // else
// SizedBox( // SizedBox(
@ -126,52 +125,41 @@ class ChatInputRow extends StatelessWidget {
// ), // ),
// ), // ),
// ), // ),
else // controller.selectedEvents.length == 1
// Pangea# // ? controller.selectedEvents.first
controller.selectedEvents.length == 1 // .getDisplayEvent(controller.timeline!)
? // .status
// #Pangea // .isSent
// controller.selectedEvents.first // ? SizedBox(
// .getDisplayEvent(controller.timeline!) // height: height,
// .status // child: TextButton(
// .isSent // onPressed: controller.replyAction,
// ? // child: Row(
// Pangea# // children: <Widget>[
SizedBox( // Text(L10n.of(context).reply),
height: height, // const Icon(Icons.keyboard_arrow_right),
child: TextButton( // ],
onPressed: controller.replyAction, // ),
child: Row( // ),
children: <Widget>[ // )
// #Pangea // : SizedBox(
// Text(L10n.of(context).reply), // height: height,
// const Icon(Icons.keyboard_arrow_right), // child: TextButton(
const Icon(Symbols.reply), // onPressed: controller.sendAgainAction,
const SizedBox(width: 6), // child: Row(
Text(L10n.of(context).reply), // children: <Widget>[
// Pangea# // Text(L10n.of(context).tryToSendAgain),
], // const SizedBox(width: 4),
), // const Icon(Icons.send_outlined, size: 16),
), // ],
) // ),
// #Pangea // ),
// : SizedBox( // )
// height: height, // : const SizedBox.shrink(),
// child: TextButton( PangeaReactionsPicker(
// onPressed: controller.sendAgainAction, controller,
// child: Row( overlayController,
// children: <Widget>[ ),
// Text(L10n.of(context).tryToSendAgain),
// const SizedBox(width: 4),
// const Icon(Icons.send_outlined, size: 16),
// ],
// ),
// ),
// ),
// Pangea#
: const SizedBox.shrink(),
// #Pangea
PangeaReactionsPicker(controller, overlayController),
if (controller.selectedEvents.length == 1 && if (controller.selectedEvents.length == 1 &&
!controller.selectedEvents.first !controller.selectedEvents.first
.getDisplayEvent(controller.timeline!) .getDisplayEvent(controller.timeline!)

@ -33,6 +33,13 @@ class OverlayHeader extends StatelessWidget {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
if (controller.selectedEvents.length == 1)
IconButton(
icon: const Icon(Symbols.reply_all),
tooltip: L10n.of(context).reply,
onPressed: controller.replyAction,
color: Theme.of(context).colorScheme.primary,
),
IconButton( IconButton(
icon: const Icon(Symbols.forward), icon: const Icon(Symbols.forward),
tooltip: L10n.of(context).forward, tooltip: L10n.of(context).forward,

@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:matrix/matrix.dart'; import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/app_emojis.dart'; import 'package:fluffychat/config/app_emojis.dart';
import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
@ -71,6 +72,7 @@ class PangeaReactionsPicker extends StatelessWidget {
onTap: () => controller.sendEmojiAction(emoji), onTap: () => controller.sendEmojiAction(emoji),
child: Container( child: Container(
width: kIsWeb ? 56 : 48, width: kIsWeb ? 56 : 48,
height: AppConfig.defaultFooterHeight,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
emoji, emoji,

Loading…
Cancel
Save