61 lines
1.8 KiB
Dart
61 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:toolheim/data/github_adapter.dart';
|
|
import 'package:toolheim/data/warband_roaster.dart';
|
|
import 'package:toolheim/widgets/warband_drawer_widget.dart';
|
|
|
|
class WarbandRoasterScreen extends StatelessWidget {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
GitHubAdapter github = Provider.of<GitHubAdapter>(context);
|
|
|
|
if (github.lastSync == null) {
|
|
return Scaffold(
|
|
appBar: AppBar(title: const Text('Toolheim')),
|
|
body: Center(child: const Text('Please select a Warband.')),
|
|
drawer: Drawer(
|
|
child: SingleChildScrollView(child: WarbandDrawerWidget())));
|
|
}
|
|
|
|
WarbandRoaster roaster = github.activeRoaster;
|
|
|
|
List<Widget> tiles = new List();
|
|
|
|
roaster.heros.forEach((hero) {
|
|
tiles.add(new ListTile(
|
|
title: Text(hero.name),
|
|
leading: CircleAvatar(
|
|
child: Text(hero.experience.toString()),
|
|
backgroundColor: Colors.green,
|
|
foregroundColor: Colors.greenAccent,
|
|
),
|
|
subtitle: Text(hero.type),
|
|
));
|
|
});
|
|
|
|
tiles.add(Divider());
|
|
|
|
roaster.henchmenGroups.forEach((henchmenGroup) {
|
|
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(roaster.name),
|
|
),
|
|
drawer:
|
|
Drawer(child: SingleChildScrollView(child: WarbandDrawerWidget())),
|
|
body: SingleChildScrollView(child: Column(children: tiles)),
|
|
);
|
|
}
|
|
}
|