mirror of
https://gitlab.com/veilid/veilidchat.git
synced 2025-07-21 13:48:43 -04:00
61 lines
2.5 KiB
Dart
61 lines
2.5 KiB
Dart
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<PreferencesCubit, Preferences>(
|
|
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: <Widget>[
|
|
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)),
|
|
),
|
|
));
|
|
}
|