make drawer gesture controllable via settings

This commit is contained in:
Fabian Freund
2026-02-14 20:02:48 +01:00
parent c336b4fafe
commit 826015c42f
6 changed files with 61 additions and 3 deletions
@@ -134,6 +134,7 @@ class _GesturesSection extends StatelessWidget {
children: [
SettingSection(name: 'Gestures'),
_PullToRefreshTile(),
_DrawerGestureTile(),
_DoubleBackCloseTabTile(),
],
);
@@ -470,6 +471,32 @@ class _PullToRefreshTile extends HookConsumerWidget {
}
}
class _DrawerGestureTile extends HookConsumerWidget {
const _DrawerGestureTile();
@override
Widget build(BuildContext context, WidgetRef ref) {
final drawerGestureEnabled = ref.watch(
generalSettingsWithDefaultsProvider.select((s) => s.drawerGestureEnabled),
);
return SwitchListTile.adaptive(
title: const Text('Drawer Swipe Gesture'),
subtitle: const Text('Swipe from screen edge to open navigation drawer'),
secondary: const Icon(MdiIcons.gestureSwipe),
value: drawerGestureEnabled,
onChanged: (value) async {
await ref
.read(saveGeneralSettingsControllerProvider.notifier)
.save(
(currentSettings) =>
currentSettings.copyWith.drawerGestureEnabled(value),
);
},
);
}
}
class _DoubleBackCloseTabTile extends HookConsumerWidget {
const _DoubleBackCloseTabTile();