diff --git a/lib/monthly_calendar.dart b/lib/monthly_calendar.dart index e92d4a1..57ca1b1 100644 --- a/lib/monthly_calendar.dart +++ b/lib/monthly_calendar.dart @@ -3,12 +3,14 @@ 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 { + final int sportID; + Calendar(this.sportID); + @override - _Calendar createState() => _Calendar(); + _Calendar createState() => _Calendar(sportID); } //List _selectedEvents; //original that makes events work @@ -17,12 +19,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'; @@ -59,7 +64,7 @@ class _Calendar extends State with TickerProviderStateMixin { @override void initState() { - final _selectedDay = DateTime.now(); + //final _selectedDay = DateTime.now(); //_selectedEvents = _events[_selectedDay] ?? []; _selectedEvents = []; 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..3af16f5 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -12,15 +12,15 @@ 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()); 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()); + 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 b141d4d..6411d02 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -4,27 +4,43 @@ 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('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,0]), ]; - 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(); + sport_ID = _curSport.sportID[0]; Item selectedSport; - + _genderSwitcherCheck(); return StatefulBuilder( builder: (context, StateSetter setState) => Scaffold( appBar: AppBar( @@ -34,20 +50,13 @@ class Sport extends StatelessWidget { //--Gender Switch-- Need to make condition to determine gender actions: [ - if (genderSportSwitch == true) + if (genderSportSwitch) Switch( value: genderSport, onChanged: (value) { setState(() { - if (value == false) { - genderSport = false; - } - else { - genderSport = true; - } - - print("value: " + value.toString()); - print("gender: " + genderSport.toString()); + genderSport = value; + _genderSwitcherCheck(); }); }, inactiveThumbColor: Colors.lightBlue, @@ -90,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), ), ), ], @@ -123,44 +132,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; - } + _genderSwitcherCheck(); print(sport_ID); }); }, @@ -176,11 +148,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