From 39912bd37e70193bb3eac196ca32e098c5612fbf Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Sat, 18 Apr 2020 11:10:13 -0400 Subject: [PATCH] Sports page passes game ID to Schedule/Calendar properly and generates correct calendar --- lib/monthly_calendar.dart | 10 ++++++++-- lib/route_generator.dart | 4 ++-- lib/screens/schedule.dart | 6 ++++-- lib/screens/sport.dart | 11 +++++------ 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/monthly_calendar.dart b/lib/monthly_calendar.dart index e92d4a1..a1e0ca3 100644 --- a/lib/monthly_calendar.dart +++ b/lib/monthly_calendar.dart @@ -7,8 +7,11 @@ import 'screens/sport.dart' as globals; import 'dart:convert'; class Calendar extends StatefulWidget { + final int sportID; + Calendar(this.sportID); + @override - _Calendar createState() => _Calendar(); + _Calendar createState() => _Calendar(sportID); } //List _selectedEvents; //original that makes events work @@ -17,12 +20,15 @@ DateTime selectedDay; Map> _events; class _Calendar extends State with TickerProviderStateMixin { + int sportID; + _Calendar(this. sportID); + AnimationController _animationController; CalendarController _calController; - int sportID = globals.Sport.sport_ID; static final sportUrl = 'https://charlotte49ers.com/services/adaptive_components.ashx?type=scoreboard&start=0&count=80'; + Future> getEvents() async { var url = '$sportUrl&sport_id=$sportID&name=&extra=%7B%7D'; diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 8c6ac8e..3af16f5 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -12,7 +12,7 @@ class RouteGenerator { static Route generateRoute(RouteSettings settings) { final args = settings .arguments; //This is how we pass arguments and can be used in case - + print("args $args"); switch (settings.name) { case '/': return MaterialPageRoute(builder: (_) => Home()); @@ -20,7 +20,7 @@ class RouteGenerator { //We can put logic and stuff here for checking if logged in return MaterialPageRoute(builder: (_) => Sport(args)); case '/Schedule': - return MaterialPageRoute(builder: (_) => Schedule()); + return MaterialPageRoute(builder: (_) => Schedule(args)); case '/Standing': return MaterialPageRoute(builder: (_) => Standing()); case '/Chat': diff --git a/lib/screens/schedule.dart b/lib/screens/schedule.dart index 0a3f716..cd3efd7 100644 --- a/lib/screens/schedule.dart +++ b/lib/screens/schedule.dart @@ -1,12 +1,14 @@ import 'package:flutter/material.dart'; import '../monthly_calendar.dart'; - +import '../screens/sport.dart' as globals; class Schedule extends StatelessWidget{ - final calendar = Calendar(); + final int sportID; + Schedule(this.sportID); @override Widget build(BuildContext context) { + var calendar = Calendar(sportID); return StatefulBuilder( builder: (context, StateSetter setState) => Scaffold( appBar: AppBar( diff --git a/lib/screens/sport.dart b/lib/screens/sport.dart index 236ded4..8e547d2 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -38,7 +38,7 @@ class Sport extends StatelessWidget { return _curSport; } _curSport = _setDefault(); - int sport_ID = _curSport.sportID[0]; + sport_ID = _curSport.sportID[0]; Item selectedSport; _genderSwitcherCheck(); return StatefulBuilder( @@ -56,9 +56,7 @@ class Sport extends StatelessWidget { onChanged: (value) { setState(() { genderSport = value; - if (_curSport.sportID.length > 1){ - sport_ID = genderSport ? _curSport.sportID[1] : _curSport.sportID[0]; - } + _genderSwitcherCheck(); }); }, inactiveThumbColor: Colors.lightBlue, @@ -101,13 +99,13 @@ class Sport extends StatelessWidget { ListTile( title: IconButton( icon: Icon(Icons.table_chart), - onPressed: () => Navigator.pushNamed(context, '/Standing'), + onPressed: () => Navigator.pushNamed(context, '/Standing', arguments: sport_ID), ), ), ListTile( title: IconButton( icon: Icon(Icons.calendar_today), - onPressed: () => Navigator.pushNamed(context, '/Schedule'), + onPressed: () => Navigator.pushNamed(context, '/Schedule',arguments: sport_ID), ), ), ], @@ -135,6 +133,7 @@ class Sport extends StatelessWidget { setState(() { _curSport = value; _genderSwitcherCheck(); + print(sport_ID); }); }, items: colorList.map>((Item item) {