style: Move chats to top

fluffychat-flutterwebauto2
Krille 3 years ago
parent 841c081e08
commit fc675aebaa

@ -9,7 +9,10 @@ import 'app_config.dart';
abstract class FluffyThemes { abstract class FluffyThemes {
static const double columnWidth = 360.0; static const double columnWidth = 360.0;
static bool isColumnModeByWidth(double width) => width > columnWidth * 2 + 64; static const double navRailWidth = 64.0;
static bool isColumnModeByWidth(double width) =>
width > columnWidth * 2 + navRailWidth;
static bool isColumnMode(BuildContext context) => static bool isColumnMode(BuildContext context) =>
isColumnModeByWidth(MediaQuery.of(context).size.width); isColumnModeByWidth(MediaQuery.of(context).size.width);

@ -93,10 +93,9 @@ class ChatListController extends State<ChatList>
int get selectedIndex { int get selectedIndex {
switch (activeFilter) { switch (activeFilter) {
case ActiveFilter.allChats: case ActiveFilter.allChats:
case ActiveFilter.messages:
return 0; return 0;
case ActiveFilter.groups: case ActiveFilter.groups:
return 0;
case ActiveFilter.messages:
return 1; return 1;
case ActiveFilter.spaces: case ActiveFilter.spaces:
return AppConfig.separateChatTypes ? 2 : 1; return AppConfig.separateChatTypes ? 2 : 1;
@ -107,7 +106,7 @@ class ChatListController extends State<ChatList>
switch (i) { switch (i) {
case 1: case 1:
if (AppConfig.separateChatTypes) { if (AppConfig.separateChatTypes) {
return ActiveFilter.messages; return ActiveFilter.groups;
} }
return ActiveFilter.spaces; return ActiveFilter.spaces;
case 2: case 2:
@ -115,7 +114,7 @@ class ChatListController extends State<ChatList>
case 0: case 0:
default: default:
if (AppConfig.separateChatTypes) { if (AppConfig.separateChatTypes) {
return ActiveFilter.groups; return ActiveFilter.messages;
} }
return ActiveFilter.allChats; return ActiveFilter.allChats;
} }

@ -30,30 +30,30 @@ class ChatListView extends StatelessWidget {
NavigationDestination( NavigationDestination(
icon: UnreadRoomsBadge( icon: UnreadRoomsBadge(
badgePosition: badgePosition, badgePosition: badgePosition,
filter: controller.getRoomFilterByActiveFilter(ActiveFilter.groups), filter:
child: const Icon(Icons.groups_outlined), controller.getRoomFilterByActiveFilter(ActiveFilter.messages),
child: const Icon(Icons.forum_outlined),
), ),
selectedIcon: UnreadRoomsBadge( selectedIcon: UnreadRoomsBadge(
badgePosition: badgePosition, badgePosition: badgePosition,
filter: controller.getRoomFilterByActiveFilter(ActiveFilter.groups), filter:
child: const Icon(Icons.groups), controller.getRoomFilterByActiveFilter(ActiveFilter.messages),
child: const Icon(Icons.forum),
), ),
label: L10n.of(context)!.groups, label: L10n.of(context)!.messages,
), ),
NavigationDestination( NavigationDestination(
icon: UnreadRoomsBadge( icon: UnreadRoomsBadge(
badgePosition: badgePosition, badgePosition: badgePosition,
filter: filter: controller.getRoomFilterByActiveFilter(ActiveFilter.groups),
controller.getRoomFilterByActiveFilter(ActiveFilter.messages), child: const Icon(Icons.groups_outlined),
child: const Icon(Icons.forum_outlined),
), ),
selectedIcon: UnreadRoomsBadge( selectedIcon: UnreadRoomsBadge(
badgePosition: badgePosition, badgePosition: badgePosition,
filter: filter: controller.getRoomFilterByActiveFilter(ActiveFilter.groups),
controller.getRoomFilterByActiveFilter(ActiveFilter.messages), child: const Icon(Icons.groups),
child: const Icon(Icons.forum),
), ),
label: L10n.of(context)!.messages, label: L10n.of(context)!.groups,
), ),
] else ] else
NavigationDestination( NavigationDestination(
@ -124,7 +124,7 @@ class ChatListView extends StatelessWidget {
final destinations = getNavigationDestinations(context); final destinations = getNavigationDestinations(context);
return SizedBox( return SizedBox(
width: 64, width: FluffyThemes.navRailWidth,
child: ListView.builder( child: ListView.builder(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
itemCount: rootSpaces.length + destinations.length, itemCount: rootSpaces.length + destinations.length,

Loading…
Cancel
Save