import 'package:animated_theme_switcher/animated_theme_switcher.dart'; import 'package:awesome_extensions/awesome_extensions.dart'; import 'package:flutter/material.dart'; import 'package:flutter_translate/flutter_translate.dart'; import 'package:go_router/go_router.dart'; import '../layout/default_app_bar.dart'; import '../notifications/notifications.dart'; import '../theme/theme.dart'; import '../veilid_processor/veilid_processor.dart'; import 'settings.dart'; class SettingsPage extends StatelessWidget { const SettingsPage({super.key}); @override Widget build(BuildContext context) => AsyncBlocBuilder( builder: (context, state) => ThemeSwitcher.withTheme( builder: (_, switcher, theme) => StyledScaffold( appBar: DefaultAppBar( context: context, title: Text(translate('settings_page.titlebar')), leading: IconButton( iconSize: 24.scaled(context), icon: const Icon(Icons.arrow_back), onPressed: () => GoRouterHelper(context).pop(), ), actions: [ const SignalStrengthMeterWidget() .paddingLTRB(16, 0, 16, 0), ]), body: ListView( padding: const EdgeInsets.all(8).scaled(context), children: [ buildSettingsPageColorPreferences( context: context, switcher: switcher, ), buildSettingsPageBrightnessPreferences( context: context, switcher: switcher, ), buildSettingsPageDisplayScalePreferences( context: context, switcher: switcher, ), buildSettingsPageWallpaperPreferences( context: context, switcher: switcher, ), buildSettingsPageNotificationPreferences( context: context, ), ] .map((x) => x.paddingLTRB(0, 0, 0, 8.scaled(context))) .toList(), ).paddingSymmetric(vertical: 4.scaled(context)), ), )); }