X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=flutterempires%2Flib%2Fplayer.dart;h=809ea13bb442506df1a1c2182b3a495fd2ce04c0;hb=bd5e7d3a9ec792042e17a030c3c647911d6db3e6;hp=c25a53b75628779c57ffde4bc65c50c317046fae;hpb=0e791b7181f2893b3b5be19f3a2b21f135debbb9;p=lmno.games diff --git a/flutterempires/lib/player.dart b/flutterempires/lib/player.dart index c25a53b..809ea13 100644 --- a/flutterempires/lib/player.dart +++ b/flutterempires/lib/player.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'dart:js'; + import 'package:http/http.dart' as http; class Player { @@ -15,14 +15,19 @@ class Player { ); } - static Future fetchPlayer() async { + static Future fetchFirstPlayer() async { final response = await http.get('https://families.cworth.org/api/players'); if (response.statusCode == 200) { - JsArray playerList = JsArray.from(json.decode(response.body)); - return Player.fromJson(playerList.elementAt(0)); + List playerList = parsePlayers(response.body); + return playerList.elementAt(0); } else { throw Exception('Failed to load player'); } } + + static List parsePlayers(String responseBody) { + final parsed = json.decode(responseBody).cast>(); + return parsed.map((json) => Player.fromJson(json)).toList(); + } }