From b3fb054c450cb085901d37f89689221a55610635 Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Fri, 17 Apr 2020 14:02:30 -0400 Subject: [PATCH 1/5] Route to sports takes an argument and goes to proper sport --- lib/news/feed.dart | 6 +++--- lib/route_generator.dart | 2 +- lib/screens/sport.dart | 33 ++++++++++++++++++++++++++------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/lib/news/feed.dart b/lib/news/feed.dart index c5662ce..f1938c6 100644 --- a/lib/news/feed.dart +++ b/lib/news/feed.dart @@ -18,7 +18,7 @@ class Feed { class HorizontalNewsFeed extends StatelessWidget { final Feed newsFeed; - final Widget title; + final Text title; final double numCards; const HorizontalNewsFeed({ @@ -31,9 +31,9 @@ class HorizontalNewsFeed extends StatelessWidget { double heightIn(BuildContext context) { return MediaQuery.of(context).size.height / numCards; } - @override Widget build(BuildContext context) { + //print(title.data); return SizedBox( height: heightIn(context), child: Column( @@ -43,8 +43,8 @@ class HorizontalNewsFeed extends StatelessWidget { title: title, trailing: IconButton( icon: Icon(Icons.navigate_next), + onPressed: () => Navigator.of(context).pushNamed('/Sport', arguments: title.data), - onPressed: () => Navigator.of(context).pushNamed('/Sport'), /*onPressed: () { //changed Navigator.of(context).pushNamed('/Sport'); diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 7678fff..8c6ac8e 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -18,7 +18,7 @@ class RouteGenerator { return MaterialPageRoute(builder: (_) => Home()); case '/Sport': //We can put logic and stuff here for checking if logged in - return MaterialPageRoute(builder: (_) => Sport()); + return MaterialPageRoute(builder: (_) => Sport(args)); case '/Schedule': return MaterialPageRoute(builder: (_) => Schedule()); case '/Standing': diff --git a/lib/screens/sport.dart b/lib/screens/sport.dart index b141d4d..05311a8 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -4,26 +4,45 @@ import '../news/feed.dart'; class Sport extends StatelessWidget { static final List colorList = [ - const Item('FootBall', Colors.green), - const Item("BasketBall", Colors.red), + const Item('Football', Colors.green), + const Item("Basketball", Colors.red), const Item("Soccer", Colors.pinkAccent), const Item('Baseball', Colors.orange), + const Item('Volleyball', Colors.blue), + const Item('Softball', Colors.yellow), + const Item('Tennis', Colors.yellowAccent), ]; - Item _curSport = colorList[0]; - final feed = Feed(); // was var not final bool genderSportSwitch = false; //determines if sport needs the gender switch final String imageMale = 'images/male.png'; final String imageFemale = 'images/female.png'; static bool genderSport = false; //determines which gender switch is set M - false / F - True - static int sport_ID; + final String sport; + Sport(this.sport); + + Item _curSport = colorList[0]; + @override Widget build(BuildContext context) { + Item _setDefault(){ + Item _curSport; + for (Item i in colorList){ + if (i.name == sport){ + _curSport = i; + break; + } + } + return _curSport; + } + _curSport = _setDefault(); Item selectedSport; + if (_curSport.name == "Soccer" || _curSport.name == "Basketball" || _curSport.name == "Tennis" ){ + genderSportSwitch = true; + } return StatefulBuilder( builder: (context, StateSetter setState) => Scaffold( @@ -34,7 +53,7 @@ class Sport extends StatelessWidget { //--Gender Switch-- Need to make condition to determine gender actions: [ - if (genderSportSwitch == true) + if (genderSportSwitch) Switch( value: genderSport, onChanged: (value) { @@ -183,4 +202,4 @@ class Item { final String name; final Color color; -} +} \ No newline at end of file From 9e3541c119e1df3bcd747b958691b8da6134d802 Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Sat, 18 Apr 2020 10:37:40 -0400 Subject: [PATCH 2/5] Gender Switch now properly appears on the correct sports and changes the sport ID properly --- lib/screens/sport.dart | 90 ++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 61 deletions(-) diff --git a/lib/screens/sport.dart b/lib/screens/sport.dart index 05311a8..236ded4 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -4,13 +4,13 @@ import '../news/feed.dart'; class Sport extends StatelessWidget { static final List colorList = [ - const Item('Football', Colors.green), - const Item("Basketball", Colors.red), - const Item("Soccer", Colors.pinkAccent), - const Item('Baseball', Colors.orange), - const Item('Volleyball', Colors.blue), - const Item('Softball', Colors.yellow), - const Item('Tennis', Colors.yellowAccent), + const Item('Football', Colors.green,[3]), + const Item("Basketball", Colors.red,[5,13]), + const Item("Soccer", Colors.pinkAccent,[9,17]), + const Item('Baseball', Colors.orange,[1]), + const Item('Volleyball', Colors.blue,[0]), + const Item('Softball', Colors.yellow,[0]), + const Item('Tennis', Colors.yellowAccent,[0]), ]; final feed = Feed(); // was var not final @@ -20,7 +20,6 @@ class Sport extends StatelessWidget { final String imageFemale = 'images/female.png'; static bool genderSport = false; //determines which gender switch is set M - false / F - True static int sport_ID; - final String sport; Sport(this.sport); @@ -39,11 +38,9 @@ class Sport extends StatelessWidget { return _curSport; } _curSport = _setDefault(); + int sport_ID = _curSport.sportID[0]; Item selectedSport; - if (_curSport.name == "Soccer" || _curSport.name == "Basketball" || _curSport.name == "Tennis" ){ - genderSportSwitch = true; - } - + _genderSwitcherCheck(); return StatefulBuilder( builder: (context, StateSetter setState) => Scaffold( appBar: AppBar( @@ -58,15 +55,10 @@ class Sport extends StatelessWidget { value: genderSport, onChanged: (value) { setState(() { - if (value == false) { - genderSport = false; - } - else { - genderSport = true; - } - - print("value: " + value.toString()); - print("gender: " + genderSport.toString()); + genderSport = value; + if (_curSport.sportID.length > 1){ + sport_ID = genderSport ? _curSport.sportID[1] : _curSport.sportID[0]; + } }); }, inactiveThumbColor: Colors.lightBlue, @@ -142,45 +134,7 @@ class Sport extends StatelessWidget { onChanged: (Item value) { setState(() { _curSport = value; - - print("genderSport: " + genderSport.toString()); - - //Will set the sport id / Display gender switch - switch (_curSport.name) { //prints are temp - case 'FootBall': - genderSportSwitch = false; - sport_ID = 3; - break; - - case 'BasketBall': - genderSportSwitch = true; - - if (genderSport == false) { - sport_ID = 5; //Male - } - else { - sport_ID = 13; //Female - } - break; - - case 'Soccer': - genderSportSwitch = true; - - if (genderSport == false) { - sport_ID = 9; //Male - } - else { - sport_ID = 17; //Female - } - break; - - case 'Baseball': - genderSportSwitch = false; - - sport_ID = 1; - break; - } - print(sport_ID); + _genderSwitcherCheck(); }); }, items: colorList.map>((Item item) { @@ -195,11 +149,25 @@ class Sport extends StatelessWidget { ), ); } + + void _genderSwitcherCheck() { + if (_curSport.name == "Soccer" || _curSport.name == "Basketball" || _curSport.name == "Tennis" ){ + genderSportSwitch = true; + sport_ID = genderSport ? _curSport.sportID[1] : _curSport.sportID[0]; + } else { + genderSportSwitch = false; + sport_ID = _curSport.sportID[0]; + } + print(sport_ID); + } + + } class Item { - const Item(this.name, this.color); + const Item(this.name, this.color, this.sportID); final String name; final Color color; + final List sportID; } \ No newline at end of file From 39912bd37e70193bb3eac196ca32e098c5612fbf Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Sat, 18 Apr 2020 11:10:13 -0400 Subject: [PATCH 3/5] 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) { From 273a738fe062392352122a18e30eb21844c36025 Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Sat, 18 Apr 2020 11:10:59 -0400 Subject: [PATCH 4/5] no more calendar global use --- lib/monthly_calendar.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/monthly_calendar.dart b/lib/monthly_calendar.dart index a1e0ca3..57ca1b1 100644 --- a/lib/monthly_calendar.dart +++ b/lib/monthly_calendar.dart @@ -3,7 +3,6 @@ import 'package:http/http.dart' as http; import 'package:table_calendar/table_calendar.dart'; import 'screens/sport_schedule.dart'; -import 'screens/sport.dart' as globals; import 'dart:convert'; class Calendar extends StatefulWidget { @@ -65,7 +64,7 @@ class _Calendar extends State with TickerProviderStateMixin { @override void initState() { - final _selectedDay = DateTime.now(); + //final _selectedDay = DateTime.now(); //_selectedEvents = _events[_selectedDay] ?? []; _selectedEvents = []; From fe3b69f3503b73644a28428a54e9d57a7e66a7dc Mon Sep 17 00:00:00 2001 From: clopezr1 Date: Thu, 23 Apr 2020 16:32:29 -0400 Subject: [PATCH 5/5] Tennis Fix --- lib/screens/sport.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/screens/sport.dart b/lib/screens/sport.dart index 8e547d2..6411d02 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -10,7 +10,7 @@ class Sport extends StatelessWidget { const Item('Baseball', Colors.orange,[1]), const Item('Volleyball', Colors.blue,[0]), const Item('Softball', Colors.yellow,[0]), - const Item('Tennis', Colors.yellowAccent,[0]), + const Item('Tennis', Colors.yellowAccent,[0,0]), ]; final feed = Feed(); // was var not final