improvements

This commit is contained in:
Myzel394 2022-08-19 21:28:51 +02:00
parent ac54fb2ab0
commit 6a5d50d1ba
4 changed files with 37 additions and 6 deletions

View File

@ -152,6 +152,8 @@
"settingsScreenDeleteAccountConfirmLabel": "Delete Account now", "settingsScreenDeleteAccountConfirmLabel": "Delete Account now",
"settingsScreenGeneralSectionTitle": "General", "settingsScreenGeneralSectionTitle": "General",
"settingsScreenGeneralSectionQualityLabel": "Quality", "settingsScreenGeneralSectionQualityLabel": "Quality",
"settingsScreenResetHelpSheetsLabel": "Reset Help Sheets",
"settingsScreenResetHelpSheetsResetSuccessfully": "Help Sheets reset successfully.",
"calendarScreenTitle": "Calendar", "calendarScreenTitle": "Calendar",

View File

@ -9,6 +9,7 @@ import 'package:quid_faciam_hodie/constants/spacing.dart';
import 'package:quid_faciam_hodie/enum_mapping/resolution_preset/texts.dart'; import 'package:quid_faciam_hodie/enum_mapping/resolution_preset/texts.dart';
import 'package:quid_faciam_hodie/extensions/snackbar.dart'; import 'package:quid_faciam_hodie/extensions/snackbar.dart';
import 'package:quid_faciam_hodie/managers/global_values_manager.dart'; import 'package:quid_faciam_hodie/managers/global_values_manager.dart';
import 'package:quid_faciam_hodie/managers/user_help_sheets_manager.dart';
import 'package:quid_faciam_hodie/screens/welcome_screen.dart'; import 'package:quid_faciam_hodie/screens/welcome_screen.dart';
import 'package:quid_faciam_hodie/utils/auth_required.dart'; import 'package:quid_faciam_hodie/utils/auth_required.dart';
import 'package:quid_faciam_hodie/utils/loadable.dart'; import 'package:quid_faciam_hodie/utils/loadable.dart';
@ -88,10 +89,10 @@ class _SettingsScreenState extends AuthRequiredState<SettingsScreen>
final items = ResolutionPreset.values final items = ResolutionPreset.values
.map( .map(
(value) => DropdownMenuItem<ResolutionPreset>( (value) => DropdownMenuItem<ResolutionPreset>(
value: value, value: value,
child: Text(resolutionTextMapping[value]!), child: Text(resolutionTextMapping[value]!),
), ),
) )
.toList(); .toList();
if (isMaterial(context)) { if (isMaterial(context)) {
@ -203,6 +204,22 @@ class _SettingsScreenState extends AuthRequiredState<SettingsScreen>
.settingsScreenGeneralSectionQualityLabel, .settingsScreenGeneralSectionQualityLabel,
), ),
title: getPicker(), title: getPicker(),
),
SettingsTile(
leading: Icon(context.platformIcons.help),
title: Text(
localizations.settingsScreenResetHelpSheetsLabel,
),
onPressed: (_) async {
await UserHelpSheetsManager.deleteAll();
if (isMaterial(context)) {
context.showSuccessSnackBar(
message: localizations
.settingsScreenResetHelpSheetsResetSuccessfully,
);
}
},
) )
], ],
), ),

View File

@ -14,6 +14,7 @@ class HelpSheet extends StatefulWidget {
final Widget helpContent; final Widget helpContent;
final HelpSheetID helpID; final HelpSheetID helpID;
final bool forceShow; final bool forceShow;
final bool checkOnStateChange;
final VoidCallback? onSheetShown; final VoidCallback? onSheetShown;
final VoidCallback? onSheetHidden; final VoidCallback? onSheetHidden;
@ -24,6 +25,7 @@ class HelpSheet extends StatefulWidget {
required this.helpContent, required this.helpContent,
required this.helpID, required this.helpID,
this.forceShow = false, this.forceShow = false,
this.checkOnStateChange = false,
this.onSheetShown, this.onSheetShown,
this.onSheetHidden, this.onSheetHidden,
}) : super(key: key); }) : super(key: key);
@ -46,12 +48,21 @@ class _HelpSheetState extends State<HelpSheet> {
} }
} }
@override
void didUpdateWidget(covariant HelpSheet oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.checkOnStateChange) {
checkIfSheetShouldBeShown();
}
}
void showSheet() { void showSheet() {
if (isShowingSheet) { if (isShowingSheet) {
return; return;
} }
Timer(Duration(milliseconds: 300), () async { Timer(const Duration(milliseconds: 300), () async {
if (!mounted) { if (!mounted) {
return; return;
} }
@ -111,6 +122,7 @@ class _HelpSheetState extends State<HelpSheet> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AnimatedScale( return AnimatedScale(
alignment: Alignment.bottomCenter,
scale: isShowingSheet ? .95 : 1, scale: isShowingSheet ? .95 : 1,
curve: Curves.easeOutSine, curve: Curves.easeOutSine,
duration: const Duration(milliseconds: 500), duration: const Duration(milliseconds: 500),

View File

@ -31,7 +31,7 @@ class ModalSheet extends StatelessWidget {
), ),
color: getSheetColor(context), color: getSheetColor(context),
), ),
padding: const EdgeInsets.symmetric(vertical: MEDIUM_SPACE), padding: const EdgeInsets.symmetric(vertical: LARGE_SPACE),
child: innerChild, child: innerChild,
), ),
cupertino: (_, __) => CupertinoPopupSurface( cupertino: (_, __) => CupertinoPopupSurface(