Standings

This commit is contained in:
kconnel7
2020-04-29 22:32:14 -04:00
parent c6d811331d
commit 18c8ed39f4
5 changed files with 186 additions and 56 deletions

View File

@@ -20,7 +20,7 @@ Map<DateTime, List<sport_schedule>> _events;
class _Calendar extends State<Calendar> with TickerProviderStateMixin {
int sportID;
_Calendar(this. sportID);
_Calendar(this.sportID);
AnimationController _animationController;
CalendarController _calController;

View File

@@ -0,0 +1,79 @@
import 'package:flutter/material.dart';
class sport_standings_basketball {
final int id;
final String displayName;
final String image;
final String position;
// -- Conference stats --
final String conferenceRecord;
final String gamesBehind;
final String conferencePercentRecord;
// -- Overall stats --
final String overallRecord;
final String overallPercentRecord;
final String homeRecord;
final String awayRecord;
final String gameStreak;
// -- Polls stats --
//final String apRecord;
//final String usaRecord;
sport_standings_basketball(
this.id, {
this.displayName,
this.image,
this.position,
this.conferenceRecord,
this.gamesBehind,
this.conferencePercentRecord,
this.overallRecord,
this.overallPercentRecord,
this.homeRecord,
this.awayRecord,
this.gameStreak,
//this.apRecord,
//this.usaRecord,
});
factory sport_standings_basketball.fromJson(Map<String, dynamic> json) {
return sport_standings_basketball(
json['id'],
displayName: json['standings']['entries']['team']['displayName'],
image: json['standings']['entries']['team']['logos']['href'],
/*for (team in json['standings']['entries']) {
var stats = new Map<String, dynamic>();
for (stat in team['stats']) {
stats[stat['type']] = stat;
}
var team_widget = basketball_widget(
position: stats['playoffseed']['displayValue'],
conferenceRecord: stats['vsconf']['displayValue'],
gamesBehind: stats['vsconf_gamesbehind']['displayValue'],
conferencePercentRecord: stats['vsconf_winpercent']['displayValue'],
overallRecord: stats['total']['displayValue'],
overallPercentRecord: stats['winpercent']['displayValue'],
homeRecord: stats['home']['displayValue'],
awayRecord: stats['road']['displayValue'],
gameStreak: stats['streak']['displayValue'],
//apRecord: json['standings']['entries']['stats']['displayValue'],
//usaRecord: json['standings']['entries']['stats']['displayValue'],
)
}*/
);
}
}

View File

@@ -0,0 +1,64 @@
import 'package:flutter/material.dart';
class sport_standings_football {
final int id; //id for each game
final DateTime date; //date: 2020-09-05T00:00:00
final String location_indicator; //location_indicator: H-Home / A-Away
final String location; //location: Knoxville, Tenn., Charlotte, NC
// -- sport json --
final int idSport; //id: Each sport different number
final String sportTitle; //title: Football, Men's Soccer
final String gender; //gender: M - F
// -- opponent json --
final String opponentTitle; //title: Tennessee, Norfolk State
final String image;
// -- result json --
final String status; //status: W - T - L
final String team_score; //team_score:
final String opponent_score; //opponent_score:
final String postscore;
sport_standings_football(
this.id, {
this.date,
this.location_indicator,
this.location,
this.idSport,
this.sportTitle,
this.gender,
this.opponentTitle,
this.image,
this.status,
this.team_score,
this.opponent_score,
this.postscore,
});
factory sport_standings_football.fromJson(Map<String, dynamic> json) {
return sport_standings_football(
json['id'],
date: DateTime.parse(json['date']),
location_indicator: json['location_indicator'],
location: json['location'],
idSport: json['sport']['id'],
sportTitle: json['sport']['title'],
gender: json['sport']['gender'],
opponentTitle: json['opponent']['title'],
image: json['opponent']['image'],
status: json['result']['status'],
team_score: json['result']['team_score'],
opponent_score: json['result']['opponent_score'],
postscore: json['result']['postscore'],
);
}
}

View File

@@ -32,67 +32,28 @@ class Standing extends StatelessWidget {
children: <Widget>[
Container(
child: Text(
"W L",
"W L ",
style: TextStyle(fontWeight: FontWeight.bold),
),
alignment: Alignment(.85, 0),
height: 20,
color: Colors.grey,
),
SportLine(
s: _schools[0],
position: 1,
),
SportLine(
s: _schools[1],
position: 2,
),
SportLine(
s: _schools[2],
position: 3,
),
SportLine(
s: _schools[3],
position: 4,
),
SportLine(
s: _schools[4],
position: 5,
),
SportLine(
s: _schools[5],
position: 6,
),
SportLine(
s: _schools[6],
position: 7,
),
SportLine(
s: _schools[7],
position: 8,
),
SportLine(
s: _schools[8],
position: 9,
),
SportLine(
s: _schools[9],
position: 10,
),
SportLine(
s: _schools[10],
position: 11,
),
SportLine(
s: _schools[11],
position: 12,
),SportLine(
s: _schools[12],
position: 13,
),SportLine(
s: _schools[13],
position: 14,
),
SportLine(s: _schools[0], position: 1,),
SportLine(s: _schools[1], position: 2,),
SportLine(s: _schools[2], position: 3,),
SportLine(s: _schools[3], position: 4,),
SportLine(s: _schools[4], position: 5,),
SportLine(s: _schools[5], position: 6,),
SportLine(s: _schools[6], position: 7,),
SportLine(s: _schools[7], position: 8,),
SportLine(s: _schools[8], position: 9,),
SportLine(s: _schools[9], position: 10,),
SportLine(s: _schools[10], position: 11,),
SportLine(s: _schools[11], position: 12,),
SportLine(s: _schools[12], position: 13,),
SportLine(s: _schools[13], position: 14,),
],
),
),

View File

@@ -0,0 +1,26 @@
/*import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
class Standings extends StatefulWidget {
@override
_Standings createState() => _Standings();
}
List _selectedTeams;
class _Standings extends State<Standings> {
static final sportUrl = 'https://charlotte49ers.com/services/adaptive_components.ashx?type=scoreboard&start=0&count=80';
Future<List<sport_standings_basketball>> getEvents() async {
var url = '$sportUrl&sport_id=$sportID&name=&extra=%7B%7D';
print(url.toString());
http.Response response = await http.get(url);
Iterable games = json.decode(response.body);
return games.map<sport_standings_basketball>((json) => sport_standings_basketball.fromJson(json)).toList();
//return games.map((e) => sport_schedule.fromJson(e)).toList();
}*/