diff --git a/lib/providers/theme_provider.dart b/lib/providers/theme_provider.dart index c8cf228..419973e 100644 --- a/lib/providers/theme_provider.dart +++ b/lib/providers/theme_provider.dart @@ -195,6 +195,11 @@ class _ThemeDataProvider extends StatelessWidget { surfaceTintColor: scheme.surfaceTint, elevation: 6, ), + dividerColor: scheme.outlineVariant, + dividerTheme: DividerThemeData( + color: scheme.outlineVariant, + space: 0, + ), listTileTheme: ListTileThemeData( style: ListTileStyle.list, iconColor: scheme.onSurface, diff --git a/lib/res/dimens.dart b/lib/res/dimens.dart index 45756e2..79f5dc8 100644 --- a/lib/res/dimens.dart +++ b/lib/res/dimens.dart @@ -37,5 +37,17 @@ class Dimens { // Dialog // Taken from `Dialog` documentation + static const EdgeInsets dialogTitlePadding = EdgeInsets.fromLTRB( + paddingL, + paddingL, + paddingL, + paddingM, + ); + static const EdgeInsets dialogActionsPadding = EdgeInsets.fromLTRB( + paddingL, + paddingM, + paddingL, + paddingL, + ); static const EdgeInsets dialogMargin = EdgeInsets.symmetric(horizontal: 40.0, vertical: 24.0); } diff --git a/lib/screens/metering/components/shared/readings_container/components/animated_dialog_picker/components/photography_value_picker_dialog/widget_dialog_picker_photography_value.dart b/lib/screens/metering/components/shared/readings_container/components/animated_dialog_picker/components/photography_value_picker_dialog/widget_dialog_picker_photography_value.dart index 66cd15b..0d30042 100644 --- a/lib/screens/metering/components/shared/readings_container/components/animated_dialog_picker/components/photography_value_picker_dialog/widget_dialog_picker_photography_value.dart +++ b/lib/screens/metering/components/shared/readings_container/components/animated_dialog_picker/components/photography_value_picker_dialog/widget_dialog_picker_photography_value.dart @@ -36,15 +36,8 @@ class PhotographyValuePickerDialog extends StatefulW class _PhotographyValuePickerDialogState extends State> { late T _selectedValue = widget.initialValue; - final _scrollController = ScrollController(); - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback((_) { - _scrollController.jumpTo(Dimens.grid56 * widget.values.indexOf(_selectedValue)); - }); - } + late final _scrollController = + ScrollController(initialScrollOffset: Dimens.grid56 * widget.values.indexOf(_selectedValue)); @override void dispose() { @@ -57,35 +50,23 @@ class _PhotographyValuePickerDialogState return Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - Column( - children: [ - Padding( - padding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingM, + Padding( + padding: Dimens.dialogTitlePadding, + child: Column( + children: [ + Text( + widget.title, + style: Theme.of(context).textTheme.headlineSmall!, ), - child: Column( - children: [ - Text( - widget.title, - style: Theme.of(context).textTheme.headlineSmall!, - ), - const SizedBox(height: Dimens.grid16), - Text( - widget.subtitle, - style: Theme.of(context).textTheme.bodyMedium!, - ), - ], + const SizedBox(height: Dimens.grid16), + Text( + widget.subtitle, + style: Theme.of(context).textTheme.bodyMedium!, ), - ), - Divider( - color: Theme.of(context).colorScheme.onSurface, - height: 0, - ), - ], + ], + ), ), + const Divider(), Expanded( child: ListView.builder( controller: _scrollController, @@ -114,32 +95,25 @@ class _PhotographyValuePickerDialogState ), ), ), - Column( - children: [ - Divider( - color: Theme.of(context).colorScheme.onSurface, - height: 0, - ), - Padding( - padding: const EdgeInsets.all(Dimens.paddingL), - child: Row( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisSize: MainAxisSize.max, - children: [ - const Spacer(), - TextButton( - onPressed: widget.onCancel, - child: Text(S.of(context).cancel), - ), - const SizedBox(width: Dimens.grid16), - TextButton( - onPressed: () => widget.onSelect(_selectedValue), - child: Text(S.of(context).select), - ), - ], + const Divider(), + Padding( + padding: Dimens.dialogActionsPadding, + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.max, + children: [ + const Spacer(), + TextButton( + onPressed: widget.onCancel, + child: Text(S.of(context).cancel), ), - ), - ], + const SizedBox(width: Dimens.grid16), + TextButton( + onPressed: () => widget.onSelect(_selectedValue), + child: Text(S.of(context).select), + ), + ], + ), ), ], ); diff --git a/lib/screens/settings/components/calibration/components/calibration_dialog/widget_dialog_calibration.dart b/lib/screens/settings/components/calibration/components/calibration_dialog/widget_dialog_calibration.dart index 2b5c9b2..3af2bc0 100644 --- a/lib/screens/settings/components/calibration/components/calibration_dialog/widget_dialog_calibration.dart +++ b/lib/screens/settings/components/calibration/components/calibration_dialog/widget_dialog_calibration.dart @@ -3,11 +3,11 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:lightmeter/environment.dart'; import 'package:lightmeter/generated/l10n.dart'; import 'package:lightmeter/res/dimens.dart'; -import 'package:lightmeter/screens/settings/components/calibration/components/calibration_dialog/event_dialog_calibration.dart'; import 'package:lightmeter/screens/shared/centered_slider/widget_slider_centered.dart'; import 'package:lightmeter/utils/to_string_signed.dart'; import 'bloc_dialog_calibration.dart'; +import 'event_dialog_calibration.dart'; import 'state_dialog_calibration.dart'; class CalibrationDialog extends StatelessWidget { @@ -17,12 +17,7 @@ class CalibrationDialog extends StatelessWidget { Widget build(BuildContext context) { final bool hasLightSensor = context.read().hasLightSensor; return AlertDialog( - titlePadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingM, - ), + titlePadding: Dimens.dialogTitlePadding, title: Text(S.of(context).calibration), contentPadding: const EdgeInsets.symmetric(horizontal: Dimens.paddingL), content: SingleChildScrollView( @@ -67,12 +62,7 @@ class CalibrationDialog extends StatelessWidget { ], ), ), - actionsPadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingM, - Dimens.paddingL, - Dimens.paddingL, - ), + actionsPadding: Dimens.dialogActionsPadding, actions: [ TextButton( onPressed: Navigator.of(context).pop, diff --git a/lib/screens/settings/components/primary_color/components/primary_color_picker_dialog/widget_dialog_picker_primary_color.dart b/lib/screens/settings/components/primary_color/components/primary_color_picker_dialog/widget_dialog_picker_primary_color.dart index b6bf87e..e7367b8 100644 --- a/lib/screens/settings/components/primary_color/components/primary_color_picker_dialog/widget_dialog_picker_primary_color.dart +++ b/lib/screens/settings/components/primary_color/components/primary_color_picker_dialog/widget_dialog_picker_primary_color.dart @@ -24,12 +24,7 @@ class _PrimaryColorDialogPickerState extends State { @override Widget build(BuildContext context) { return AlertDialog( - titlePadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingM, - ), + titlePadding: Dimens.dialogTitlePadding, title: Text(S.of(context).choosePrimaryColor), content: SizedBox( height: Dimens.grid48, @@ -60,12 +55,7 @@ class _PrimaryColorDialogPickerState extends State { ), ), ), - actionsPadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingM, - Dimens.paddingL, - Dimens.paddingL, - ), + actionsPadding: Dimens.dialogActionsPadding, actions: [ TextButton( onPressed: Navigator.of(context).pop, diff --git a/lib/screens/settings/components/shared/dialog_picker.dart/widget_dialog_picker.dart b/lib/screens/settings/components/shared/dialog_picker.dart/widget_dialog_picker.dart index 03050ad..8044fb4 100644 --- a/lib/screens/settings/components/shared/dialog_picker.dart/widget_dialog_picker.dart +++ b/lib/screens/settings/components/shared/dialog_picker.dart/widget_dialog_picker.dart @@ -26,12 +26,7 @@ class _DialogPickerState extends State> { @override Widget build(BuildContext context) { return AlertDialog( - titlePadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingL, - Dimens.paddingM, - ), + titlePadding: Dimens.dialogTitlePadding, title: Text(widget.title), contentPadding: EdgeInsets.zero, content: Column( @@ -53,12 +48,7 @@ class _DialogPickerState extends State> { ) .toList(), ), - actionsPadding: const EdgeInsets.fromLTRB( - Dimens.paddingL, - Dimens.paddingM, - Dimens.paddingL, - Dimens.paddingL, - ), + actionsPadding: Dimens.dialogActionsPadding, actions: [ TextButton( onPressed: Navigator.of(context).pop,