Merge branch 'development' into feature/129-neues-popup-design
# Conflicts: # lib/presentation/views/main_menu/settings_view/settings_view.dart
This commit is contained in:
@@ -39,7 +39,9 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
Widget build(BuildContext context) {
|
||||
final loc = AppLocalizations.of(context);
|
||||
return ScaffoldMessenger(
|
||||
child: Scaffold(
|
||||
child: Builder(
|
||||
builder: (scaffoldMessengerContext) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(backgroundColor: CustomTheme.backgroundColor),
|
||||
backgroundColor: CustomTheme.backgroundColor,
|
||||
body: SingleChildScrollView(
|
||||
@@ -59,7 +61,11 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 16, top: 10, bottom: 10),
|
||||
padding: const EdgeInsets.only(
|
||||
left: 16,
|
||||
top: 10,
|
||||
bottom: 10,
|
||||
),
|
||||
child: Text(
|
||||
textAlign: TextAlign.start,
|
||||
loc.data,
|
||||
@@ -75,13 +81,18 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16),
|
||||
onPressed: () async {
|
||||
final String json =
|
||||
await DataTransferService.getAppDataAsJson(context);
|
||||
await DataTransferService.getAppDataAsJson(
|
||||
scaffoldMessengerContext,
|
||||
);
|
||||
final result = await DataTransferService.exportData(
|
||||
json,
|
||||
'game_tracker-data',
|
||||
);
|
||||
if (!context.mounted) return;
|
||||
showExportSnackBar(context: context, result: result);
|
||||
if (!scaffoldMessengerContext.mounted) return;
|
||||
showExportSnackBar(
|
||||
context: scaffoldMessengerContext,
|
||||
result: result,
|
||||
);
|
||||
},
|
||||
),
|
||||
SettingsListTile(
|
||||
@@ -89,9 +100,14 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
icon: Icons.download,
|
||||
suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16),
|
||||
onPressed: () async {
|
||||
final result = await DataTransferService.importData(context);
|
||||
if (!context.mounted) return;
|
||||
showImportSnackBar(context: context, result: result);
|
||||
final result = await DataTransferService.importData(
|
||||
scaffoldMessengerContext,
|
||||
);
|
||||
if (!scaffoldMessengerContext.mounted) return;
|
||||
showImportSnackBar(
|
||||
context: scaffoldMessengerContext,
|
||||
result: result,
|
||||
);
|
||||
},
|
||||
),
|
||||
SettingsListTile(
|
||||
@@ -129,7 +145,11 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
},
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 16, top: 10, bottom: 10),
|
||||
padding: const EdgeInsets.only(
|
||||
left: 16,
|
||||
top: 10,
|
||||
bottom: 10,
|
||||
),
|
||||
child: Text(
|
||||
textAlign: TextAlign.start,
|
||||
loc.legal,
|
||||
@@ -178,7 +198,9 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
GestureDetector(
|
||||
child: const Icon(Icons.language),
|
||||
onTap: () => {
|
||||
launchUrl(Uri.parse('https://liquid-dev.de')),
|
||||
launchUrl(
|
||||
Uri.parse('https://liquid-dev.de'),
|
||||
),
|
||||
},
|
||||
),
|
||||
GestureDetector(
|
||||
@@ -227,6 +249,8 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -287,10 +311,11 @@ class _SettingsViewState extends State<SettingsView> {
|
||||
Duration duration = const Duration(seconds: 3),
|
||||
VoidCallback? action,
|
||||
}) {
|
||||
if (!context.mounted) return;
|
||||
|
||||
final loc = AppLocalizations.of(context);
|
||||
final messenger = ScaffoldMessenger.of(context);
|
||||
messenger.hideCurrentSnackBar();
|
||||
messenger.showSnackBar(
|
||||
ScaffoldMessenger.of(context).hideCurrentSnackBar();
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(message, style: const TextStyle(color: Colors.white)),
|
||||
backgroundColor: CustomTheme.onBoxColor,
|
||||
|
||||
@@ -295,6 +295,7 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
||||
/// [message] - The message to display in the snackbar.
|
||||
void showSnackBarMessage(String message) {
|
||||
if (!context.mounted) return;
|
||||
ScaffoldMessenger.of(context).hideCurrentSnackBar();
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: CustomTheme.boxColor,
|
||||
|
||||
Reference in New Issue
Block a user