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,87 +302,22 @@ class ChatView extends StatelessWidget {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: child: GestureDetector(
// #Pangea onTap: controller.clearSingleSelectedEvent,
Stack( child: Builder(
children: [ builder: (context) {
// Pangea# if (controller.timeline == null) {
GestureDetector( return const Center(
onTap: controller.clearSingleSelectedEvent, child: CircularProgressIndicator.adaptive(
child: Builder( strokeWidth: 2,
builder: (context) {
if (controller.timeline == null) {
return const Center(
child:
CircularProgressIndicator.adaptive(
strokeWidth: 2,
),
);
}
return ChatEventList(
controller: controller,
);
},
),
),
// #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),
],
),
),
), ),
], );
), }
), return ChatEventList(
], controller: controller,
// Pangea# );
},
),
), ),
), ),
if (controller.room.canSendDefaultMessages && if (controller.room.canSendDefaultMessages &&
@ -466,26 +402,31 @@ class ChatView extends StatelessWidget {
), ),
], ],
) )
: Column( :
mainAxisSize: MainAxisSize.min, // #Pangea
children: [ null,
// #Pangea // Column(
// const ConnectionStatusHeader(), // mainAxisSize: MainAxisSize.min,
// ITBar( // children: [
// choreographer: // const ConnectionStatusHeader(),
// controller.choreographer, // ITBar(
// ), // choreographer:
// ReactionsPicker(controller), // controller.choreographer,
// ReplyDisplay(controller), // ),
// ChatInputRow(controller), // ReactionsPicker(controller),
// ChatEmojiPicker(controller), // ReplyDisplay(controller),
ReactionsPicker(controller), // ChatInputRow(controller),
ChatInputRow(controller), // ChatEmojiPicker(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