mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Split message reaction tray from popover
Keep the message action popover below the mobile file-size ratchet by moving the reaction tray wrapper into its own part file without changing behavior. Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
This commit is contained in:
@@ -41,6 +41,7 @@ import 'timeline_message.dart';
|
||||
part 'message_actions/reaction_popover.dart';
|
||||
part 'message_actions/quick_reaction_row.dart';
|
||||
part 'message_actions/message_action_popover.dart';
|
||||
part 'message_actions/message_reaction_tray.dart';
|
||||
|
||||
/// Preview length for reminder targets — matches desktop's
|
||||
/// `msg.body.slice(0, 100)`.
|
||||
|
||||
@@ -810,41 +810,6 @@ class _LiftedMessagePreview extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
class _MessageReactionTray extends StatelessWidget {
|
||||
final Animation<double> animation;
|
||||
final double trayWidth;
|
||||
final TimelineMessage message;
|
||||
final BuildContext pageContext;
|
||||
final WidgetRef pageRef;
|
||||
final Object popResult;
|
||||
final void Function(Object? result, VoidCallback effect) onSelected;
|
||||
|
||||
const _MessageReactionTray({
|
||||
required this.animation,
|
||||
required this.trayWidth,
|
||||
required this.message,
|
||||
required this.pageContext,
|
||||
required this.pageRef,
|
||||
required this.popResult,
|
||||
required this.onSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return _AnimatedReactionTray(
|
||||
trayKey: const ValueKey('message-action-reaction-tray'),
|
||||
animation: animation,
|
||||
trayWidth: trayWidth,
|
||||
scaleAlignment: Alignment.bottomLeft,
|
||||
message: message,
|
||||
pageContext: pageContext,
|
||||
pageRef: pageRef,
|
||||
popResult: popResult,
|
||||
onSelected: onSelected,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _MessageActionSurface extends StatelessWidget {
|
||||
final List<_PopoverMessageAction> actions;
|
||||
final ValueChanged<String> onSelected;
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
part of '../message_actions.dart';
|
||||
|
||||
class _MessageReactionTray extends StatelessWidget {
|
||||
final Animation<double> animation;
|
||||
final double trayWidth;
|
||||
final TimelineMessage message;
|
||||
final BuildContext pageContext;
|
||||
final WidgetRef pageRef;
|
||||
final Object popResult;
|
||||
final void Function(Object? result, VoidCallback effect) onSelected;
|
||||
|
||||
const _MessageReactionTray({
|
||||
required this.animation,
|
||||
required this.trayWidth,
|
||||
required this.message,
|
||||
required this.pageContext,
|
||||
required this.pageRef,
|
||||
required this.popResult,
|
||||
required this.onSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return _AnimatedReactionTray(
|
||||
trayKey: const ValueKey('message-action-reaction-tray'),
|
||||
animation: animation,
|
||||
trayWidth: trayWidth,
|
||||
scaleAlignment: Alignment.bottomLeft,
|
||||
message: message,
|
||||
pageContext: pageContext,
|
||||
pageRef: pageRef,
|
||||
popResult: popResult,
|
||||
onSelected: onSelected,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user