chore: Adjust design of navrail

This commit is contained in:
Christian Kußowski 2026-02-15 10:34:03 +01:00
commit 727e442c94
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
6 changed files with 226 additions and 256 deletions

View file

@ -5,11 +5,13 @@ import 'package:fluffychat/config/themes.dart';
class TwoColumnLayout extends StatelessWidget {
final Widget mainView;
final Widget sideView;
final bool hasNavigationRail;
const TwoColumnLayout({
super.key,
required this.mainView,
required this.sideView,
this.hasNavigationRail = true,
});
@override
Widget build(BuildContext context) {
@ -22,7 +24,9 @@ class TwoColumnLayout extends StatelessWidget {
Container(
clipBehavior: Clip.antiAlias,
decoration: const BoxDecoration(),
width: FluffyThemes.columnWidth + FluffyThemes.navRailWidth,
width:
FluffyThemes.columnWidth +
(hasNavigationRail ? FluffyThemes.navRailWidth : 0),
child: mainView,
),
Container(width: 1.0, color: theme.dividerColor),

View file

@ -7,6 +7,7 @@ import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pages/chat_list/navi_rail_item.dart';
import 'package:fluffychat/pages/chat_list/start_chat_fab.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import 'package:fluffychat/utils/stream_extension.dart';
import 'package:fluffychat/widgets/avatar.dart';
@ -27,9 +28,6 @@ class SpacesNavigationRail extends StatelessWidget {
@override
Widget build(BuildContext context) {
final client = Matrix.of(context).client;
final isSettings = GoRouter.of(
context,
).routeInformationProvider.value.uri.path.startsWith('/rooms/settings');
return Material(
child: SafeArea(
child: StreamBuilder(
@ -55,7 +53,7 @@ class SpacesNavigationRail extends StatelessWidget {
itemBuilder: (context, i) {
if (i == 0) {
return NaviRailItem(
isSelected: activeSpaceId == null && !isSettings,
isSelected: activeSpaceId == null,
onTap: onGoToChats,
icon: const Padding(
padding: EdgeInsets.all(10.0),
@ -110,18 +108,9 @@ class SpacesNavigationRail extends StatelessWidget {
},
),
),
NaviRailItem(
isSelected: isSettings,
onTap: () => context.go('/rooms/settings'),
icon: const Padding(
padding: EdgeInsets.all(10.0),
child: Icon(Icons.settings_outlined),
),
selectedIcon: const Padding(
padding: EdgeInsets.all(10.0),
child: Icon(Icons.settings),
),
toolTip: L10n.of(context).settings,
Padding(
padding: const EdgeInsets.all(12.0),
child: StartChatFab(),
),
],
),