advanced desktop mode

This commit is contained in:
Fabian Freund
2026-06-06 15:39:09 +02:00
parent 4a12acab99
commit 370c422e12
23 changed files with 732 additions and 78 deletions
@@ -105,12 +105,23 @@ const List<SettingsSectionDefinition> browsingSettingsSections = [
keywords: ['app links', 'external apps'],
child: _AppLinksModeSection(),
),
],
),
SettingsSectionDefinition(
title: 'Desktop Mode',
entries: [
SettingsEntryDefinition(
title: 'Always Request Desktop Site',
subtitle: 'Open new tabs in desktop mode by default',
keywords: ['desktop mode', 'user agent', 'mobile site', 'tablet'],
child: _GlobalDesktopModeTile(),
),
SettingsEntryDefinition(
title: 'Desktop Mode Sites',
subtitle: 'Sites that always load in desktop mode',
keywords: ['desktop mode', 'per-site', 'user agent', 'exceptions'],
child: _DesktopModeSitesTile(),
),
],
),
SettingsSectionDefinition(
@@ -764,6 +775,23 @@ class _GlobalDesktopModeTile extends HookConsumerWidget {
}
}
class _DesktopModeSitesTile extends StatelessWidget {
const _DesktopModeSitesTile();
@override
Widget build(BuildContext context) {
return ListTile(
leading: const Icon(Icons.desktop_windows),
title: const Text('Desktop Mode Sites'),
subtitle: const Text('Sites that always load in desktop mode'),
trailing: const Icon(Icons.chevron_right),
onTap: () async {
await const DesktopModeSitesRoute().push(context);
},
);
}
}
class _PullToRefreshTile extends HookConsumerWidget {
const _PullToRefreshTile();