import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:toolheim/data/github_adapter.dart'; import 'package:toolheim/data/warband_roaster.dart'; class WarbandDrawerWidget extends StatelessWidget { @override Widget build(BuildContext context) { GitHubAdapter github = Provider.of(context); if (github.lastSync == null) { // Add search button return Column(children: [ Padding( padding: const EdgeInsets.only(top: 50), child: RaisedButton( onPressed: github.search, child: const Text('Search for warbands')), ) ]); } WarbandRoaster activeRoaster = github.activeRoaster; List roasters = github.roasters; List tiles = new List(); // Show some stats for the own warband tiles.add(UserAccountsDrawerHeader( //otherAccountsPictures: [ // IconButton( // icon: Icon(Icons.refresh), // color: Colors.white, // highlightColor: Colors.brown, // tooltip: 'Refresh warbands', // onPressed: github.update, // ), // IconButton( // icon: Icon(Icons.search), // color: Colors.white, // tooltip: 'Read warbands', // onPressed: github.search, // ) //], accountName: Text(activeRoaster.name), accountEmail: Text(activeRoaster.race), )); // TODO: Order Players on CP or rating roasters.forEach((roaster) { // We mark inactive warbands with a gray acent var textColor = Colors.black; if (!roaster.active) { textColor = Colors.black45; } tiles.add(ListTile( onTap: () { github.changeActiveRoaster(roaster.playerName); Navigator.of(context).pop(); }, title: Text(roaster.name + ' (' + roaster.playerName + ')', style: TextStyle(color: textColor)), subtitle: Text(roaster.currentVersion.message), isThreeLine: true, trailing: Chip(label: Text(roaster.campaignPoints.toString() + ' CP')))); }); tiles.add(Divider()); return Column(children: tiles); } }