mirror of
https://gitlab.com/veilid/veilidchat.git
synced 2025-07-28 08:54:06 -04:00
Accessibility update
This commit is contained in:
parent
be8014c97a
commit
3b1cb53b8a
55 changed files with 1089 additions and 807 deletions
|
@ -1,7 +1,6 @@
|
|||
import 'package:animated_theme_switcher/animated_theme_switcher.dart';
|
||||
import 'package:awesome_extensions/awesome_extensions.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_form_builder/flutter_form_builder.dart';
|
||||
import 'package:flutter_translate/flutter_translate.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
|
@ -11,62 +10,53 @@ import '../theme/theme.dart';
|
|||
import '../veilid_processor/veilid_processor.dart';
|
||||
import 'settings.dart';
|
||||
|
||||
class SettingsPage extends StatefulWidget {
|
||||
class SettingsPage extends StatelessWidget {
|
||||
const SettingsPage({super.key});
|
||||
|
||||
@override
|
||||
SettingsPageState createState() => SettingsPageState();
|
||||
}
|
||||
|
||||
class SettingsPageState extends State<SettingsPage> {
|
||||
final _formKey = GlobalKey<FormBuilderState>();
|
||||
static const String formFieldTheme = 'theme';
|
||||
static const String formFieldBrightness = 'brightness';
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) =>
|
||||
AsyncBlocBuilder<PreferencesCubit, Preferences>(
|
||||
builder: (context, state) => ThemeSwitcher.withTheme(
|
||||
builder: (_, switcher, theme) => StyledScaffold(
|
||||
builder: (_, switcher, theme) => StyledScaffold(
|
||||
appBar: DefaultAppBar(
|
||||
context: context,
|
||||
title: Text(translate('settings_page.titlebar')),
|
||||
leading: IconButton(
|
||||
icon: const Icon(Icons.arrow_back),
|
||||
iconSize: 24.scaled(context),
|
||||
icon: Icon(Icons.arrow_back),
|
||||
onPressed: () => GoRouterHelper(context).pop(),
|
||||
),
|
||||
actions: <Widget>[
|
||||
const SignalStrengthMeterWidget()
|
||||
.paddingLTRB(16, 0, 16, 0),
|
||||
]),
|
||||
body: ThemeSwitchingArea(
|
||||
child: FormBuilder(
|
||||
key: _formKey,
|
||||
child: ListView(
|
||||
padding: const EdgeInsets.all(8),
|
||||
children: [
|
||||
buildSettingsPageColorPreferences(
|
||||
context: context,
|
||||
switcher: switcher,
|
||||
onChanged: () => setState(() {}))
|
||||
.paddingLTRB(0, 8, 0, 0),
|
||||
buildSettingsPageBrightnessPreferences(
|
||||
context: context,
|
||||
switcher: switcher,
|
||||
onChanged: () => setState(() {})),
|
||||
buildSettingsPageWallpaperPreferences(
|
||||
context: context,
|
||||
switcher: switcher,
|
||||
onChanged: () => setState(() {})),
|
||||
buildSettingsPageNotificationPreferences(
|
||||
context: context,
|
||||
onChanged: () => setState(() {})),
|
||||
].map((x) => x.paddingLTRB(0, 0, 0, 8)).toList(),
|
||||
body: ListView(
|
||||
padding: const EdgeInsets.all(8).scaled(context),
|
||||
children: [
|
||||
buildSettingsPageColorPreferences(
|
||||
context: context,
|
||||
switcher: switcher,
|
||||
),
|
||||
).paddingSymmetric(horizontal: 8, vertical: 8),
|
||||
))));
|
||||
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)),
|
||||
).paddingSymmetric(
|
||||
horizontal: 8.scaled(context), vertical: 8.scaled(context)),
|
||||
));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue