2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-29 22:16:47 +00:00

Cleanup "about" info

This commit is contained in:
Oliver Walters 2021-02-13 01:16:40 +11:00
parent 135b752d51
commit 26f978b26d
2 changed files with 47 additions and 38 deletions

View File

@ -1,17 +1,32 @@
import 'package:InvenTree/api.dart'; import 'package:InvenTree/api.dart';
import 'package:InvenTree/settings/release.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info/package_info.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:package_info/package_info.dart';
class InvenTreeAboutWidget extends StatelessWidget { class InvenTreeAboutWidget extends StatelessWidget {
final PackageInfo info; final PackageInfo info;
InvenTreeAboutWidget(this.info) : super(); InvenTreeAboutWidget(this.info) : super();
void _releaseNotes(BuildContext context) async {
// Load release notes from external file
String notes = await rootBundle.loadString("assets/release_notes.md");
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ReleaseNotesWidget(notes))
);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -31,6 +46,7 @@ class InvenTreeAboutWidget extends StatelessWidget {
ListTile( ListTile(
title: Text(I18N.of(context).address), title: Text(I18N.of(context).address),
subtitle: Text(InvenTreeAPI().baseUrl.isNotEmpty ? InvenTreeAPI().baseUrl : I18N.of(context).notConnected), subtitle: Text(InvenTreeAPI().baseUrl.isNotEmpty ? InvenTreeAPI().baseUrl : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.globe),
) )
); );
@ -38,6 +54,7 @@ class InvenTreeAboutWidget extends StatelessWidget {
ListTile( ListTile(
title: Text(I18N.of(context).version), title: Text(I18N.of(context).version),
subtitle: Text(InvenTreeAPI().version.isNotEmpty ? InvenTreeAPI().version : I18N.of(context).notConnected), subtitle: Text(InvenTreeAPI().version.isNotEmpty ? InvenTreeAPI().version : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.infoCircle),
) )
); );
@ -45,6 +62,7 @@ class InvenTreeAboutWidget extends StatelessWidget {
ListTile( ListTile(
title: Text(I18N.of(context).serverInstance), title: Text(I18N.of(context).serverInstance),
subtitle: Text(InvenTreeAPI().instance.isNotEmpty ? InvenTreeAPI().instance : I18N.of(context).notConnected), subtitle: Text(InvenTreeAPI().instance.isNotEmpty ? InvenTreeAPI().instance : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.server),
) )
); );
} else { } else {
@ -54,7 +72,8 @@ class InvenTreeAboutWidget extends StatelessWidget {
subtitle: Text( subtitle: Text(
I18N.of(context).serverNotConnected, I18N.of(context).serverNotConnected,
style: TextStyle(fontStyle: FontStyle.italic), style: TextStyle(fontStyle: FontStyle.italic),
) ),
leading: FaIcon(FontAwesomeIcons.exclamationCircle)
) )
); );
} }
@ -68,17 +87,11 @@ class InvenTreeAboutWidget extends StatelessWidget {
) )
); );
tiles.add(
ListTile(
title: Text(I18N.of(context).name),
subtitle: Text("${info.appName}"),
)
);
tiles.add( tiles.add(
ListTile( ListTile(
title: Text(I18N.of(context).packageName), title: Text(I18N.of(context).packageName),
subtitle: Text("${info.packageName}"), subtitle: Text("${info.packageName}"),
leading: FaIcon(FontAwesomeIcons.box)
) )
); );
@ -86,11 +99,23 @@ class InvenTreeAboutWidget extends StatelessWidget {
ListTile( ListTile(
title: Text(I18N.of(context).version), title: Text(I18N.of(context).version),
subtitle: Text("${info.version}"), subtitle: Text("${info.version}"),
leading: FaIcon(FontAwesomeIcons.infoCircle)
) )
); );
// TODO: Do we really need build number? tiles.add(
/* ListTile(
title: Text(I18N.of(context).releaseNotes),
subtitle: Text("Display app release notes"),
leading: FaIcon(FontAwesomeIcons.fileAlt),
onTap: () {
_releaseNotes(context);
},
)
);
// TODO: Do we really need build number?
/*
tiles.add( tiles.add(
ListTile( ListTile(
title: Text(I18N.of(context).build), title: Text(I18N.of(context).build),
@ -99,16 +124,16 @@ class InvenTreeAboutWidget extends StatelessWidget {
); );
*/ */
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(I18N.of(context).appAbout), title: Text(I18N.of(context).appAbout),
), ),
body: ListView( body: ListView(
children: ListTile.divideTiles( children: ListTile.divideTiles(
context: context, context: context,
tiles: tiles, tiles: tiles,
).toList(), ).toList(),
) )
); );
} }
} }

View File

@ -48,12 +48,7 @@ class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
leading: FaIcon(FontAwesomeIcons.infoCircle), leading: FaIcon(FontAwesomeIcons.infoCircle),
onTap: _about, onTap: _about,
), ),
ListTile(
title: Text(I18N.of(context).releaseNotes),
subtitle: Text("Display app release notes"),
leading: FaIcon(FontAwesomeIcons.fileAlt),
onTap: _releaseNotes,
),
ListTile( ListTile(
title: Text(I18N.of(context).reportBug), title: Text(I18N.of(context).reportBug),
subtitle: Text("Report bug or suggest new feature"), subtitle: Text("Report bug or suggest new feature"),
@ -81,15 +76,4 @@ class _InvenTreeSettingsState extends State<InvenTreeSettingsWidget> {
MaterialPageRoute(builder: (context) => InvenTreeAboutWidget(info))); MaterialPageRoute(builder: (context) => InvenTreeAboutWidget(info)));
}); });
} }
void _releaseNotes() async {
// Load release notes from external file
String notes = await rootBundle.loadString("assets/release_notes.md");
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ReleaseNotesWidget(notes))
);
}
} }