import 'package:animated_theme_switcher/animated_theme_switcher.dart'; import 'package:flutter/material.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:flutter_translate/flutter_translate.dart'; import '../../settings/settings.dart'; import '../models/models.dart'; const String formFieldEnableWallpaper = 'enable_wallpaper'; Widget buildSettingsPageWallpaperPreferences( {required BuildContext context, required void Function() onChanged, required ThemeSwitcherState switcher}) { final preferencesRepository = PreferencesRepository.instance; final themePreferences = preferencesRepository.value.themePreference; final theme = Theme.of(context); final textTheme = theme.textTheme; return FormBuilderCheckbox( name: formFieldEnableWallpaper, title: Text(translate('settings_page.enable_wallpaper'), style: textTheme.labelMedium), initialValue: themePreferences.enableWallpaper, onChanged: (value) async { if (value != null) { final newThemePrefs = themePreferences.copyWith(enableWallpaper: value); final newPrefs = preferencesRepository.value .copyWith(themePreference: newThemePrefs); await preferencesRepository.set(newPrefs); switcher.changeTheme(theme: newThemePrefs.themeData()); onChanged(); } }); }