toolheim/mobile-app/lib/screens/warband_roster_screen.dart

79 lines
2.4 KiB
Dart
Raw Normal View History

2019-07-10 14:16:13 +02:00
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:toolheim/data/github_adapter.dart';
import 'package:toolheim/widgets/warband_drawer_widget.dart';
class WarbandRosterScreen extends StatelessWidget {
2019-07-10 14:16:13 +02:00
@override
Widget build(BuildContext context) {
GitHubAdapter github = Provider.of<GitHubAdapter>(context);
if (github.activeRoster == null) {
2019-07-10 14:16:13 +02:00
return Scaffold(
2019-07-10 22:28:51 +02:00
appBar: AppBar(title: const Text('Toolheim')),
body: Builder(builder: (BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/heads.png',
width: 250,
),
FlatButton(
onPressed: () {
Scaffold.of(context).openDrawer();
},
child: Text(
'Select a warband',
style: TextStyle(color: Colors.blue),
),
),
]),
);
}),
2019-07-10 22:28:51 +02:00
drawer: Drawer(
child: SingleChildScrollView(child: WarbandDrawerWidget())));
2019-07-10 14:16:13 +02:00
}
2019-07-10 22:28:51 +02:00
List<Widget> tiles = new List();
github.activeRoster.heros.forEach((hero) {
2019-07-10 22:28:51 +02:00
tiles.add(new ListTile(
title: Text(hero.name),
leading: CircleAvatar(
child: Text(hero.experience.toString()),
backgroundColor: Colors.green,
foregroundColor: Colors.greenAccent,
2019-07-10 14:16:13 +02:00
),
2019-07-10 22:28:51 +02:00
subtitle: Text(hero.type),
));
});
2019-07-10 14:16:13 +02:00
2019-07-10 22:28:51 +02:00
tiles.add(Divider());
2019-07-10 14:16:13 +02:00
github.activeRoster.henchmenGroups.forEach((henchmenGroup) {
2019-07-10 22:28:51 +02:00
tiles.add(new ListTile(
title: Text(henchmenGroup.name),
trailing: Chip(label: Text(henchmenGroup.number.toString() + 'x')),
leading: CircleAvatar(
child: Text(henchmenGroup.experience.toString()),
backgroundColor: Colors.orange,
foregroundColor: Colors.white,
),
subtitle: Text(henchmenGroup.type),
));
});
return Scaffold(
appBar: AppBar(
title: Text(github.activeRoster.name),
2019-07-10 22:28:51 +02:00
),
drawer:
Drawer(child: SingleChildScrollView(child: WarbandDrawerWidget())),
body: SingleChildScrollView(child: Column(children: tiles)),
);
2019-07-10 14:16:13 +02:00
}
}