feat(appearance): manual toggle to force backdrop blur on lower device tiers

This commit is contained in:
zarzet
2026-07-27 01:39:16 +07:00
parent 9da3607932
commit ac56e76b62
20 changed files with 137 additions and 6 deletions
+3 -2
View File
@@ -891,8 +891,9 @@ class _MainShellState extends ConsumerState<MainShell>
],
);
// The backdrop blur re-filters everything scrolling underneath on
// every frame; low-end devices get an opaque base instead.
if (!ref.read(backdropBlurEnabledProvider)) {
// every frame; low-end devices get an opaque base instead unless
// the user forces blur on in appearance settings.
if (!ref.watch(backdropBlurEnabledProvider)) {
return ColoredBox(
color: settingsGroupColor(context),
child: bottomBar,
@@ -101,6 +101,15 @@ class AppearanceSettingsPage extends ConsumerWidget {
onChanged: (value) => ref
.read(settingsProvider.notifier)
.setHeroAnimationsEnabled(value),
),
SettingsSwitchItem(
icon: Icons.blur_on,
title: context.l10n.appearanceForceBlur,
subtitle: context.l10n.appearanceForceBlurSubtitle,
value: settings.forceBackdropBlur,
onChanged: (value) => ref
.read(settingsProvider.notifier)
.setForceBackdropBlur(value),
showDivider: false,
),
],