Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
48c04d9b3e |
|||
|
7f30150e95 |
3 changed files with 30 additions and 14 deletions
|
|
@ -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.",
|
description: "Enables some fixes for Linux mobile, e.g. disabling dragging appbar for moving window, and swiping drawers open.",
|
||||||
icon: Icons.construction,
|
icon: Icons.construction,
|
||||||
builder: (title, description, icon) => SwitchListTile(
|
builder: (title, description, icon) => SwitchListTile(
|
||||||
title: Text(title),
|
title: Text(title),
|
||||||
|
|
|
||||||
|
|
@ -111,10 +111,21 @@ 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) => MaterialApp(
|
builder: (context, ref, child) {
|
||||||
navigatorKey: navigatorKey,
|
// Flutter turns off mobile behaviour like swiping drawers open on desktop platforms, so Linux mobile pretends to be Android
|
||||||
debugShowCheckedModeBanner: false,
|
ThemeData forPlatform(ThemeData theme) =>
|
||||||
theme:
|
ref.watch(
|
||||||
|
SettingsController.provider.select(
|
||||||
|
(settings) => settings.value?.linuxMobileMode ?? false,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
? theme.copyWith(platform: .android)
|
||||||
|
: theme;
|
||||||
|
|
||||||
|
return MaterialApp(
|
||||||
|
navigatorKey: navigatorKey,
|
||||||
|
debugShowCheckedModeBanner: false,
|
||||||
|
theme: forPlatform(
|
||||||
(ref
|
(ref
|
||||||
.watch(SettingsController.provider)
|
.watch(SettingsController.provider)
|
||||||
.maybeWhen(
|
.maybeWhen(
|
||||||
|
|
@ -124,7 +135,8 @@ 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(
|
||||||
|
|
@ -134,14 +146,16 @@ class const App({super.key}) extends StatelessWidget {
|
||||||
) ??
|
) ??
|
||||||
ThemeData.dark().colorScheme)
|
ThemeData.dark().colorScheme)
|
||||||
.theme,
|
.theme,
|
||||||
themeMode: ref
|
),
|
||||||
.watch(SettingsController.provider)
|
themeMode: ref
|
||||||
.maybeWhen(
|
.watch(SettingsController.provider)
|
||||||
data: (settings) => settings.theme,
|
.maybeWhen(
|
||||||
orElse: () => ThemeMode.system,
|
data: (settings) => settings.theme,
|
||||||
),
|
orElse: () => ThemeMode.system,
|
||||||
home: child,
|
),
|
||||||
),
|
home: child,
|
||||||
|
);
|
||||||
|
},
|
||||||
child: DefaultTextHeightBehavior(
|
child: DefaultTextHeightBehavior(
|
||||||
textHeightBehavior: .new(leadingDistribution: .even),
|
textHeightBehavior: .new(leadingDistribution: .even),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
|
|
|
||||||
|
|
@ -202,6 +202,7 @@ final class const RoomChat({
|
||||||
);
|
);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
endDrawerEnableOpenDragGesture: false,
|
||||||
endDrawer: SearchDrawer(
|
endDrawer: SearchDrawer(
|
||||||
roomId,
|
roomId,
|
||||||
getEventOptions: getEventOptions,
|
getEventOptions: getEventOptions,
|
||||||
|
|
@ -209,6 +210,7 @@ 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,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue