Keep input bar and reply bar together

pull/1384/head
Kelrap 1 year ago
parent d640bce7a9
commit 45c290d0d8

@ -14,6 +14,7 @@ import 'package:fluffychat/pangea/choreographer/widgets/start_igc_button.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart';
import 'package:fluffychat/pangea/widgets/chat/chat_floating_action_button.dart'; import 'package:fluffychat/pangea/widgets/chat/chat_floating_action_button.dart';
import 'package:fluffychat/utils/account_config.dart'; import 'package:fluffychat/utils/account_config.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/chat_settings_popup_menu.dart'; import 'package:fluffychat/widgets/chat_settings_popup_menu.dart';
import 'package:fluffychat/widgets/connection_status_header.dart'; import 'package:fluffychat/widgets/connection_status_header.dart';
import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/matrix.dart';
@ -301,19 +302,13 @@ class ChatView extends StatelessWidget {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: child: GestureDetector(
// #Pangea
Stack(
children: [
// Pangea#
GestureDetector(
onTap: controller.clearSingleSelectedEvent, onTap: controller.clearSingleSelectedEvent,
child: Builder( child: Builder(
builder: (context) { builder: (context) {
if (controller.timeline == null) { if (controller.timeline == null) {
return const Center( return const Center(
child: child: CircularProgressIndicator.adaptive(
CircularProgressIndicator.adaptive(
strokeWidth: 2, strokeWidth: 2,
), ),
); );
@ -324,65 +319,6 @@ class ChatView extends StatelessWidget {
}, },
), ),
), ),
// #Pangea
Positioned(
left: 0,
right: 0,
bottom: 7,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
if (!controller.selectMode)
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
StartIGCButton(
controller: controller,
),
ChatFloatingActionButton(
controller: controller,
),
],
),
Container(
margin: EdgeInsets.only(
bottom: bottomSheetPadding,
left: bottomSheetPadding,
right: bottomSheetPadding,
),
constraints: const BoxConstraints(
maxWidth:
FluffyThemes.columnWidth * 2.5,
),
alignment: Alignment.center,
child: Material(
clipBehavior: Clip.hardEdge,
color: Theme.of(context)
.colorScheme
.surfaceContainerHighest,
borderRadius: const BorderRadius.all(
Radius.circular(24),
),
child: Column(
children: [
const ConnectionStatusHeader(),
ITBar(
choreographer:
controller.choreographer,
),
ReplyDisplay(controller),
],
),
),
),
],
),
),
],
// Pangea#
),
), ),
if (controller.room.canSendDefaultMessages && if (controller.room.canSendDefaultMessages &&
controller.room.membership == Membership.join) controller.room.membership == Membership.join)
@ -466,10 +402,12 @@ class ChatView extends StatelessWidget {
), ),
], ],
) )
: Column( :
mainAxisSize: MainAxisSize.min,
children: [
// #Pangea // #Pangea
null,
// Column(
// mainAxisSize: MainAxisSize.min,
// children: [
// const ConnectionStatusHeader(), // const ConnectionStatusHeader(),
// ITBar( // ITBar(
// choreographer: // choreographer:
@ -479,13 +417,16 @@ class ChatView extends StatelessWidget {
// ReplyDisplay(controller), // ReplyDisplay(controller),
// ChatInputRow(controller), // ChatInputRow(controller),
// ChatEmojiPicker(controller), // ChatEmojiPicker(controller),
ReactionsPicker(controller), // ],
ChatInputRow(controller), // ),
],
),
// Pangea# // Pangea#
), ),
), ),
// #Pangea
SizedBox(
height: (PlatformInfos.isMobile ? 15 : 50),
),
// Pangea#
], ],
), ),
), ),
@ -501,6 +442,70 @@ class ChatView extends StatelessWidget {
// size: 100, // size: 100,
// ), // ),
// ), // ),
Positioned(
left: 0,
right: 0,
bottom: 7,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
if (!controller.selectMode)
Container(
margin: const EdgeInsets.only(
bottom: 7,
left: 11,
right: 11,
),
constraints: const BoxConstraints(
maxWidth: FluffyThemes.columnWidth * 2.4,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
StartIGCButton(
controller: controller,
),
ChatFloatingActionButton(
controller: controller,
),
],
),
),
Container(
margin: EdgeInsets.only(
bottom: bottomSheetPadding,
left: bottomSheetPadding,
right: bottomSheetPadding,
),
constraints: const BoxConstraints(
maxWidth: FluffyThemes.columnWidth * 2.5,
),
alignment: Alignment.center,
child: Material(
clipBehavior: Clip.hardEdge,
color: Theme.of(context)
.colorScheme
.surfaceContainerHighest,
borderRadius: const BorderRadius.all(
Radius.circular(24),
),
child: Column(
children: [
const ConnectionStatusHeader(),
ITBar(
choreographer: controller.choreographer,
),
ReactionsPicker(controller),
ReplyDisplay(controller),
ChatInputRow(controller),
],
),
),
),
],
),
),
Positioned( Positioned(
bottom: 0, bottom: 0,
left: 0, left: 0,

Loading…
Cancel
Save