2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 05:26:47 +00:00
Oliver Walters 613dd388b6 v0.1.2
- Update release notes
- Update build number
2021-02-25 19:58:07 +11:00

129 lines
3.3 KiB
Dart

import 'package:InvenTree/api.dart';
import 'package:InvenTree/settings/release.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:package_info/package_info.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:package_info/package_info.dart';
class InvenTreeAboutWidget extends StatelessWidget {
final PackageInfo info;
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
Widget build(BuildContext context) {
List<Widget> tiles = [];
tiles.add(
ListTile(
title: Text(
I18N.of(context).serverDetails,
style: TextStyle(fontWeight: FontWeight.bold),
),
)
);
if (InvenTreeAPI().isConnected()) {
tiles.add(
ListTile(
title: Text(I18N.of(context).address),
subtitle: Text(InvenTreeAPI().baseUrl.isNotEmpty ? InvenTreeAPI().baseUrl : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.globe),
)
);
tiles.add(
ListTile(
title: Text(I18N.of(context).version),
subtitle: Text(InvenTreeAPI().version.isNotEmpty ? InvenTreeAPI().version : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.infoCircle),
)
);
tiles.add(
ListTile(
title: Text(I18N.of(context).serverInstance),
subtitle: Text(InvenTreeAPI().instance.isNotEmpty ? InvenTreeAPI().instance : I18N.of(context).notConnected),
leading: FaIcon(FontAwesomeIcons.server),
)
);
} else {
tiles.add(
ListTile(
title: Text(I18N.of(context).notConnected),
subtitle: Text(
I18N.of(context).serverNotConnected,
style: TextStyle(fontStyle: FontStyle.italic),
),
leading: FaIcon(FontAwesomeIcons.exclamationCircle)
)
);
}
tiles.add(
ListTile(
title: Text(
I18N.of(context).appDetails,
style: TextStyle(fontWeight: FontWeight.bold),
),
)
);
tiles.add(
ListTile(
title: Text(I18N.of(context).packageName),
subtitle: Text("${info.packageName}"),
leading: FaIcon(FontAwesomeIcons.box)
)
);
tiles.add(
ListTile(
title: Text(I18N.of(context).version),
subtitle: Text("${info.version}"),
leading: FaIcon(FontAwesomeIcons.infoCircle)
)
);
tiles.add(
ListTile(
title: Text(I18N.of(context).releaseNotes),
subtitle: Text("Display app release notes"),
leading: FaIcon(FontAwesomeIcons.fileAlt),
onTap: () {
_releaseNotes(context);
},
)
);
return Scaffold(
appBar: AppBar(
title: Text(I18N.of(context).appAbout),
),
body: ListView(
children: ListTile.divideTiles(
context: context,
tiles: tiles,
).toList(),
)
);
}
}