X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=flutterempires%2Flib%2Fplayer.dart;h=aa87c8411d844dba694e015d19bbcd90a72fe2e5;hb=77a289b40313bf31cdc179184d2fdb063c60844c;hp=36d7ced1389db3361f0c4db527d1f9d7a47cd341;hpb=893153993716d14aa37813af19fd7dff83f70af3;p=lmno.games diff --git a/flutterempires/lib/player.dart b/flutterempires/lib/player.dart index 36d7ced..aa87c84 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 { @@ -19,10 +19,25 @@ class Player { 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 Future> fetchAllPlayers() async { + final response = await http.get('https://families.cworth.org/api/players'); + + if (response.statusCode == 200) { + return parsePlayers(response.body); + } else { + throw Exception('Failed to load players'); + } + } + + static List parsePlayers(String responseBody) { + final parsed = json.decode(responseBody).cast>(); + return parsed.map((json) => Player.fromJson(json)).toList(); + } }