Merge pull request #15 from allemangD/RoutesWithArguments
Routes with arguments
This commit is contained in:
@@ -3,12 +3,14 @@ import 'package:http/http.dart' as http;
|
|||||||
import 'package:table_calendar/table_calendar.dart';
|
import 'package:table_calendar/table_calendar.dart';
|
||||||
|
|
||||||
import 'screens/sport_schedule.dart';
|
import 'screens/sport_schedule.dart';
|
||||||
import 'screens/sport.dart' as globals;
|
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
class Calendar extends StatefulWidget {
|
class Calendar extends StatefulWidget {
|
||||||
|
final int sportID;
|
||||||
|
Calendar(this.sportID);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_Calendar createState() => _Calendar();
|
_Calendar createState() => _Calendar(sportID);
|
||||||
}
|
}
|
||||||
|
|
||||||
//List<sport_schedule> _selectedEvents; //original that makes events work
|
//List<sport_schedule> _selectedEvents; //original that makes events work
|
||||||
@@ -17,12 +19,15 @@ DateTime selectedDay;
|
|||||||
Map<DateTime, List<sport_schedule>> _events;
|
Map<DateTime, List<sport_schedule>> _events;
|
||||||
|
|
||||||
class _Calendar extends State<Calendar> with TickerProviderStateMixin {
|
class _Calendar extends State<Calendar> with TickerProviderStateMixin {
|
||||||
|
int sportID;
|
||||||
|
_Calendar(this. sportID);
|
||||||
|
|
||||||
AnimationController _animationController;
|
AnimationController _animationController;
|
||||||
CalendarController _calController;
|
CalendarController _calController;
|
||||||
|
|
||||||
int sportID = globals.Sport.sport_ID;
|
|
||||||
static final sportUrl = 'https://charlotte49ers.com/services/adaptive_components.ashx?type=scoreboard&start=0&count=80';
|
static final sportUrl = 'https://charlotte49ers.com/services/adaptive_components.ashx?type=scoreboard&start=0&count=80';
|
||||||
|
|
||||||
|
|
||||||
Future<List<sport_schedule>> getEvents() async {
|
Future<List<sport_schedule>> getEvents() async {
|
||||||
var url = '$sportUrl&sport_id=$sportID&name=&extra=%7B%7D';
|
var url = '$sportUrl&sport_id=$sportID&name=&extra=%7B%7D';
|
||||||
|
|
||||||
@@ -59,7 +64,7 @@ class _Calendar extends State<Calendar> with TickerProviderStateMixin {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
final _selectedDay = DateTime.now();
|
//final _selectedDay = DateTime.now();
|
||||||
|
|
||||||
//_selectedEvents = _events[_selectedDay] ?? [];
|
//_selectedEvents = _events[_selectedDay] ?? [];
|
||||||
_selectedEvents = [];
|
_selectedEvents = [];
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class Feed {
|
|||||||
|
|
||||||
class HorizontalNewsFeed extends StatelessWidget {
|
class HorizontalNewsFeed extends StatelessWidget {
|
||||||
final Feed newsFeed;
|
final Feed newsFeed;
|
||||||
final Widget title;
|
final Text title;
|
||||||
final double numCards;
|
final double numCards;
|
||||||
|
|
||||||
const HorizontalNewsFeed({
|
const HorizontalNewsFeed({
|
||||||
@@ -31,9 +31,9 @@ class HorizontalNewsFeed extends StatelessWidget {
|
|||||||
double heightIn(BuildContext context) {
|
double heightIn(BuildContext context) {
|
||||||
return MediaQuery.of(context).size.height / numCards;
|
return MediaQuery.of(context).size.height / numCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
//print(title.data);
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
height: heightIn(context),
|
height: heightIn(context),
|
||||||
child: Column(
|
child: Column(
|
||||||
@@ -43,8 +43,8 @@ class HorizontalNewsFeed extends StatelessWidget {
|
|||||||
title: title,
|
title: title,
|
||||||
trailing: IconButton(
|
trailing: IconButton(
|
||||||
icon: Icon(Icons.navigate_next),
|
icon: Icon(Icons.navigate_next),
|
||||||
|
onPressed: () => Navigator.of(context).pushNamed('/Sport', arguments: title.data),
|
||||||
|
|
||||||
onPressed: () => Navigator.of(context).pushNamed('/Sport'),
|
|
||||||
|
|
||||||
/*onPressed: () { //changed
|
/*onPressed: () { //changed
|
||||||
Navigator.of(context).pushNamed('/Sport');
|
Navigator.of(context).pushNamed('/Sport');
|
||||||
|
|||||||
@@ -12,15 +12,15 @@ class RouteGenerator {
|
|||||||
static Route<dynamic> generateRoute(RouteSettings settings) {
|
static Route<dynamic> generateRoute(RouteSettings settings) {
|
||||||
final args = settings
|
final args = settings
|
||||||
.arguments; //This is how we pass arguments and can be used in case
|
.arguments; //This is how we pass arguments and can be used in case
|
||||||
|
print("args $args");
|
||||||
switch (settings.name) {
|
switch (settings.name) {
|
||||||
case '/':
|
case '/':
|
||||||
return MaterialPageRoute(builder: (_) => Home());
|
return MaterialPageRoute(builder: (_) => Home());
|
||||||
case '/Sport':
|
case '/Sport':
|
||||||
//We can put logic and stuff here for checking if logged in
|
//We can put logic and stuff here for checking if logged in
|
||||||
return MaterialPageRoute(builder: (_) => Sport());
|
return MaterialPageRoute(builder: (_) => Sport(args));
|
||||||
case '/Schedule':
|
case '/Schedule':
|
||||||
return MaterialPageRoute(builder: (_) => Schedule());
|
return MaterialPageRoute(builder: (_) => Schedule(args));
|
||||||
case '/Standing':
|
case '/Standing':
|
||||||
return MaterialPageRoute(builder: (_) => Standing());
|
return MaterialPageRoute(builder: (_) => Standing());
|
||||||
case '/Chat':
|
case '/Chat':
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import '../monthly_calendar.dart';
|
import '../monthly_calendar.dart';
|
||||||
|
import '../screens/sport.dart' as globals;
|
||||||
class Schedule extends StatelessWidget{
|
class Schedule extends StatelessWidget{
|
||||||
|
|
||||||
final calendar = Calendar();
|
final int sportID;
|
||||||
|
Schedule(this.sportID);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
var calendar = Calendar(sportID);
|
||||||
return StatefulBuilder(
|
return StatefulBuilder(
|
||||||
builder: (context, StateSetter setState) => Scaffold(
|
builder: (context, StateSetter setState) => Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
|||||||
@@ -4,27 +4,43 @@ import '../news/feed.dart';
|
|||||||
class Sport extends StatelessWidget {
|
class Sport extends StatelessWidget {
|
||||||
|
|
||||||
static final List<Item> colorList = <Item>[
|
static final List<Item> colorList = <Item>[
|
||||||
const Item('FootBall', Colors.green),
|
const Item('Football', Colors.green,[3]),
|
||||||
const Item("BasketBall", Colors.red),
|
const Item("Basketball", Colors.red,[5,13]),
|
||||||
const Item("Soccer", Colors.pinkAccent),
|
const Item("Soccer", Colors.pinkAccent,[9,17]),
|
||||||
const Item('Baseball', Colors.orange),
|
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
|
final feed = Feed(); // was var not final
|
||||||
|
|
||||||
bool genderSportSwitch = false; //determines if sport needs the gender switch
|
bool genderSportSwitch = false; //determines if sport needs the gender switch
|
||||||
final String imageMale = 'images/male.png';
|
final String imageMale = 'images/male.png';
|
||||||
final String imageFemale = 'images/female.png';
|
final String imageFemale = 'images/female.png';
|
||||||
static bool genderSport = false; //determines which gender switch is set M - false / F - True
|
static bool genderSport = false; //determines which gender switch is set M - false / F - True
|
||||||
|
|
||||||
static int sport_ID;
|
static int sport_ID;
|
||||||
|
final String sport;
|
||||||
|
Sport(this.sport);
|
||||||
|
|
||||||
|
Item _curSport = colorList[0];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
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;
|
Item selectedSport;
|
||||||
|
_genderSwitcherCheck();
|
||||||
return StatefulBuilder(
|
return StatefulBuilder(
|
||||||
builder: (context, StateSetter setState) => Scaffold(
|
builder: (context, StateSetter setState) => Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
@@ -34,20 +50,13 @@ class Sport extends StatelessWidget {
|
|||||||
|
|
||||||
//--Gender Switch-- Need to make condition to determine gender
|
//--Gender Switch-- Need to make condition to determine gender
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
if (genderSportSwitch == true)
|
if (genderSportSwitch)
|
||||||
Switch(
|
Switch(
|
||||||
value: genderSport,
|
value: genderSport,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
if (value == false) {
|
genderSport = value;
|
||||||
genderSport = false;
|
_genderSwitcherCheck();
|
||||||
}
|
|
||||||
else {
|
|
||||||
genderSport = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
print("value: " + value.toString());
|
|
||||||
print("gender: " + genderSport.toString());
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
inactiveThumbColor: Colors.lightBlue,
|
inactiveThumbColor: Colors.lightBlue,
|
||||||
@@ -90,13 +99,13 @@ class Sport extends StatelessWidget {
|
|||||||
ListTile(
|
ListTile(
|
||||||
title: IconButton(
|
title: IconButton(
|
||||||
icon: Icon(Icons.table_chart),
|
icon: Icon(Icons.table_chart),
|
||||||
onPressed: () => Navigator.pushNamed(context, '/Standing'),
|
onPressed: () => Navigator.pushNamed(context, '/Standing', arguments: sport_ID),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
title: IconButton(
|
title: IconButton(
|
||||||
icon: Icon(Icons.calendar_today),
|
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) {
|
onChanged: (Item value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_curSport = value;
|
_curSport = value;
|
||||||
|
_genderSwitcherCheck();
|
||||||
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);
|
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 {
|
class Item {
|
||||||
const Item(this.name, this.color);
|
const Item(this.name, this.color, this.sportID);
|
||||||
|
|
||||||
final String name;
|
final String name;
|
||||||
final Color color;
|
final Color color;
|
||||||
}
|
final List<int> sportID;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user