Compare commits

..
3 changed files with 14 additions and 30 deletions

View file

@ -177,7 +177,7 @@ class SettingsSectionsController
), ),
.new( .new(
title: "Linux Mobile Mode", title: "Linux Mobile Mode",
description: "Enables some fixes for Linux mobile, e.g. disabling dragging appbar for moving window, and swiping drawers open.", description: "Enables some fixes for Linux mobile, e.g. disabling dragging appbar for moving window.",
icon: Icons.construction, icon: Icons.construction,
builder: (title, description, icon) => SwitchListTile( builder: (title, description, icon) => SwitchListTile(
title: Text(title), title: Text(title),

View file

@ -111,21 +111,10 @@ class const App({super.key}) extends StatelessWidget {
@override @override
Widget build(BuildContext context) => DynamicColorBuilder( Widget build(BuildContext context) => DynamicColorBuilder(
builder: (lightDynamic, darkDynamic) => Consumer( builder: (lightDynamic, darkDynamic) => Consumer(
builder: (context, ref, child) { builder: (context, ref, child) => MaterialApp(
// Flutter turns off mobile behaviour like swiping drawers open on desktop platforms, so Linux mobile pretends to be Android
ThemeData forPlatform(ThemeData theme) =>
ref.watch(
SettingsController.provider.select(
(settings) => settings.value?.linuxMobileMode ?? false,
),
)
? theme.copyWith(platform: .android)
: theme;
return MaterialApp(
navigatorKey: navigatorKey, navigatorKey: navigatorKey,
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
theme: forPlatform( theme:
(ref (ref
.watch(SettingsController.provider) .watch(SettingsController.provider)
.maybeWhen( .maybeWhen(
@ -135,8 +124,7 @@ class const App({super.key}) extends StatelessWidget {
) ?? ) ??
ThemeData.light().colorScheme) ThemeData.light().colorScheme)
.theme, .theme,
), darkTheme:
darkTheme: forPlatform(
(ref (ref
.watch(SettingsController.provider) .watch(SettingsController.provider)
.maybeWhen( .maybeWhen(
@ -146,7 +134,6 @@ class const App({super.key}) extends StatelessWidget {
) ?? ) ??
ThemeData.dark().colorScheme) ThemeData.dark().colorScheme)
.theme, .theme,
),
themeMode: ref themeMode: ref
.watch(SettingsController.provider) .watch(SettingsController.provider)
.maybeWhen( .maybeWhen(
@ -154,8 +141,7 @@ class const App({super.key}) extends StatelessWidget {
orElse: () => ThemeMode.system, orElse: () => ThemeMode.system,
), ),
home: child, home: child,
); ),
},
child: DefaultTextHeightBehavior( child: DefaultTextHeightBehavior(
textHeightBehavior: .new(leadingDistribution: .even), textHeightBehavior: .new(leadingDistribution: .even),
child: Scaffold( child: Scaffold(

View file

@ -202,7 +202,6 @@ final class const RoomChat({
); );
return Scaffold( return Scaffold(
endDrawerEnableOpenDragGesture: false,
endDrawer: SearchDrawer( endDrawer: SearchDrawer(
roomId, roomId,
getEventOptions: getEventOptions, getEventOptions: getEventOptions,
@ -210,7 +209,6 @@ final class const RoomChat({
), ),
body: Builder( body: Builder(
builder: (searchContext) => Scaffold( builder: (searchContext) => Scaffold(
endDrawerEnableOpenDragGesture: false,
endDrawer: PinnedEventsDrawer( endDrawer: PinnedEventsDrawer(
roomId, roomId,
getEventOptions: getEventOptions, getEventOptions: getEventOptions,