void onPressPlusButton() {
setState(() {
// Probably use this to POST player name and character
+ allPlayers = Player.fetchAllPlayers();
});
}
body: new Container(
margin: const EdgeInsets.only(left: 20.0, right: 20.0),
child: Center(
- child: FutureBuilder<List<Player>>(
- future: allPlayers,
- builder: (context, snapshot) {
- if (snapshot.hasData) {
- return ListView.builder(
- itemCount: snapshot.data.length,
- itemBuilder: (context, index) {
- return ListTile(
- title: Text(snapshot.data[index].name.toString()));
- });
- } else if (snapshot.hasError) {
- return Text("${snapshot.error}");
- }
- return CircularProgressIndicator();
- }),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: <Widget>[
+ Spacer(flex: 1),
+ Text(
+ 'Name:',
+ style: Theme.of(context).textTheme.headline4,
+ ),
+ TextField(
+ decoration: InputDecoration(
+ hintText: 'Enter your (real) name',
+ ),
+ ),
+ Spacer(flex: 1),
+ Text(
+ 'Character:',
+ style: Theme.of(context).textTheme.headline4,
+ ),
+ TextField(
+ decoration: InputDecoration(
+ hintText: 'Enter your empire character name',
+ ),
+ ),
+ Spacer(flex: 1),
+ Expanded(
+ flex: 20,
+ child: FutureBuilder<List<Player>>(
+ future: allPlayers,
+ builder: (context, snapshot) {
+ if (snapshot.hasData) {
+ if (snapshot.data.length == 0) {
+ return Text('No players yet');
+ } else {
+ return ListView.builder(
+ itemCount: snapshot.data.length,
+ itemBuilder: (context, index) {
+ return ListTile(
+ title: Text(
+ snapshot.data[index].name.toString()));
+ });
+ }
+ } else if (snapshot.hasError) {
+ return Text("${snapshot.error}");
+ }
+ return CircularProgressIndicator();
+ }),
+ )
+ ],
+ ),
),
),
floatingActionButton: FloatingActionButton(