2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00
inventree-app/lib/settings.dart
Oliver Walters cb751a7432 Load preferences before opening server settings dialog
- This ensures the settings are loaded and ready to go

(cherry picked from commit cd72d474a626232d10a7f7ff08419a10038c2c08)
2020-04-05 13:20:12 +10:00

84 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'login_settings.dart';
import 'package:package_info/package_info.dart';
class InvenTreeSettingsWidget extends StatefulWidget {
// InvenTree settings view
@override
_InvenTreeSettingsState createState() => _InvenTreeSettingsState();
}
class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("InvenTree Settings"),
),
body: Center(
child: ListView(
children: <Widget>[
ListTile(
title: Text("Server Settings"),
subtitle: Text("Configure server and login settings"),
onTap: _editServerSettings,
),
Divider(),
ListTile(
title: Text("About"),
subtitle: Text("App details"),
onTap: _about,
),
],
)
)
);
}
void _editServerSettings() async {
var prefs = await SharedPreferences.getInstance();
Navigator.push(context, MaterialPageRoute(builder: (context) => InvenTreeLoginSettingsWidget(prefs)));
}
void _about() async {
PackageInfo.fromPlatform().then((PackageInfo info) {
showDialog(
context: context,
child: new SimpleDialog(
title: new Text("About InvenTree"),
children: <Widget>[
ListTile(
title: Text("App Name"),
subtitle: Text("${info.appName}"),
),
ListTile(
title: Text("Package Name"),
subtitle: Text("${info.packageName}"),
),
ListTile(
title: Text("App Version"),
subtitle: Text("${info.version}"),
),
ListTile(
title: Text("Build Number"),
subtitle: Text("${info.buildNumber}")
),
ListTile(
title: Text("Submit Bug Report"),
subtitle: Text("Submit a bug report or feature request at:\n https://github.com/inventree/inventree-app/issues/"),
)
]
),
);
});
}
}