chore: make space filter buttons into floating action buttons (#2166)
This commit is contained in:
parent
94790229e6
commit
bd1c6c7437
4 changed files with 58 additions and 72 deletions
|
|
@ -13,7 +13,6 @@ import 'package:fluffychat/pages/chat_list/search_title.dart';
|
|||
import 'package:fluffychat/pages/chat_list/space_view.dart';
|
||||
import 'package:fluffychat/pages/user_bottom_sheet/user_bottom_sheet.dart';
|
||||
import 'package:fluffychat/pangea/chat_list/widgets/pangea_chat_list_header.dart';
|
||||
import 'package:fluffychat/pangea/spaces/widgets/space_filter_buttons.dart';
|
||||
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||
import 'package:fluffychat/utils/stream_extension.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
|
|
@ -353,10 +352,6 @@ class ChatListViewBody extends StatelessWidget {
|
|||
);
|
||||
},
|
||||
),
|
||||
// #Pangea
|
||||
if (controller.activeFilter == ActiveFilter.spaces)
|
||||
const SpaceFilterButtons(),
|
||||
// Pangea#
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import 'package:go_router/go_router.dart';
|
|||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
||||
import 'package:fluffychat/pangea/chat_list/widgets/chat_list_view_body_wrapper.dart';
|
||||
import 'package:fluffychat/pangea/spaces/widgets/space_floating_actions_buttons.dart';
|
||||
import 'package:fluffychat/widgets/navigation_rail.dart';
|
||||
|
||||
class ChatListView extends StatelessWidget {
|
||||
|
|
@ -53,19 +54,25 @@ class ChatListView extends StatelessWidget {
|
|||
body: ChatListViewBodyWrapper(controller: controller),
|
||||
// Pangea#
|
||||
floatingActionButton:
|
||||
!controller.isSearchMode && controller.activeSpaceId == null
|
||||
? FloatingActionButton.extended(
|
||||
// #Pangea
|
||||
// onPressed: () => context.go('/rooms/newprivatechat'),
|
||||
onPressed: () => context.go('/rooms/newgroup'),
|
||||
// #Pangea
|
||||
// !controller.isSearchMode && controller.activeSpaceId == null
|
||||
controller.activeFilter == ActiveFilter.spaces
|
||||
? const SpaceFloatingActionButtons()
|
||||
: !controller.isSearchMode &&
|
||||
controller.activeSpaceId == null
|
||||
// Pangea#
|
||||
icon: const Icon(Icons.add_outlined),
|
||||
label: Text(
|
||||
L10n.of(context).chat,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
? FloatingActionButton.extended(
|
||||
// #Pangea
|
||||
// onPressed: () => context.go('/rooms/newprivatechat'),
|
||||
onPressed: () => context.go('/rooms/newgroup'),
|
||||
// Pangea#
|
||||
icon: const Icon(Icons.add_outlined),
|
||||
label: Text(
|
||||
L10n.of(context).chat,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,55 +0,0 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/spaces/utils/space_code.dart';
|
||||
|
||||
class SpaceFilterButtons extends StatelessWidget {
|
||||
const SpaceFilterButtons({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SliverList(
|
||||
delegate: SliverChildListDelegate(
|
||||
[
|
||||
const SizedBox(height: 16.0),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(4.0),
|
||||
child: Center(
|
||||
child: SizedBox(
|
||||
width: 100.0,
|
||||
child: FloatingActionButton.extended(
|
||||
onPressed: () =>
|
||||
SpaceCodeUtil.joinWithSpaceCodeDialog(context),
|
||||
icon: const Icon(Icons.join_right_outlined),
|
||||
label: Text(
|
||||
L10n.of(context).join,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(4.0),
|
||||
child: Center(
|
||||
child: SizedBox(
|
||||
width: 100.0,
|
||||
child: FloatingActionButton.extended(
|
||||
onPressed: () => context.go('/rooms/newspace'),
|
||||
icon: const Icon(Icons.add),
|
||||
label: Text(
|
||||
L10n.of(context).space,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16.0),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/spaces/utils/space_code.dart';
|
||||
|
||||
class SpaceFloatingActionButtons extends StatelessWidget {
|
||||
const SpaceFloatingActionButtons({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IntrinsicWidth(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
spacing: 8.0,
|
||||
children: [
|
||||
FloatingActionButton.extended(
|
||||
onPressed: () => SpaceCodeUtil.joinWithSpaceCodeDialog(context),
|
||||
icon: const Icon(Icons.join_right_outlined),
|
||||
label: Text(
|
||||
L10n.of(context).join,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
),
|
||||
FloatingActionButton.extended(
|
||||
onPressed: () => context.go('/rooms/newspace'),
|
||||
icon: const Icon(Icons.add),
|
||||
label: Text(
|
||||
L10n.of(context).space,
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue