From fe6f3b65fdc71e7c06e916047f6a86440e8012ae Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Wed, 4 Mar 2020 18:12:57 -0500 Subject: [PATCH 1/5] Created the Files for Schedule, Chat, and Standing Screens --- lib/screens/chat.dart | 0 lib/screens/schedule.dart | 0 lib/screens/standing.dart | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/screens/chat.dart create mode 100644 lib/screens/schedule.dart create mode 100644 lib/screens/standing.dart diff --git a/lib/screens/chat.dart b/lib/screens/chat.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/screens/schedule.dart b/lib/screens/schedule.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/screens/standing.dart b/lib/screens/standing.dart new file mode 100644 index 0000000..e69de29 From 60fb57f9049c1738508029885a54d5766965855f Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Thu, 5 Mar 2020 18:24:44 -0500 Subject: [PATCH 2/5] RouteGenerator --- lib/main.dart | 6 ++---- lib/news/feed.dart | 2 +- lib/route_generator.dart | 45 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 lib/route_generator.dart diff --git a/lib/main.dart b/lib/main.dart index 3ea11af..fc04fcc 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,3 +1,4 @@ +import 'package:capstone_hungry_hippos/route_generator.dart'; import 'package:flutter/material.dart'; import 'screens/home_widget.dart'; import 'screens/sport.dart'; @@ -10,10 +11,7 @@ class App extends StatelessWidget { return MaterialApp( debugShowCheckedModeBanner: false, initialRoute: '/', - routes: { - '/': (context) => Home(), - '/Sport': (context) => Sport(), - }, + onGenerateRoute: RouteGenerator.generateRoute, ); } } diff --git a/lib/news/feed.dart b/lib/news/feed.dart index 3592029..f9da8d6 100644 --- a/lib/news/feed.dart +++ b/lib/news/feed.dart @@ -43,7 +43,7 @@ class HorizontalNewsFeed extends StatelessWidget { title: title, trailing: IconButton( icon: Icon(Icons.navigate_next), - onPressed: () => Navigator.pushNamed(context, '/Sport'), + onPressed: () => Navigator.of(context).pushNamed('/Sport'), ), ), Expanded( diff --git a/lib/route_generator.dart b/lib/route_generator.dart new file mode 100644 index 0000000..757bd65 --- /dev/null +++ b/lib/route_generator.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'package:capstone_hungry_hippos/main.dart'; +import 'package:capstone_hungry_hippos/screens/home_widget.dart'; +import 'package:capstone_hungry_hippos/screens/sport.dart'; + +class RouteGenerator { + static Route generateRoute(RouteSettings settings){ + final args = settings.arguments; //This is how we pass arguments and can be used in case + + 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()); + default: + return _errorRoute(); + } + } + + static Route _errorRoute() { + return MaterialPageRoute(builder: (_){ + return Scaffold( + appBar: AppBar( + title: Text("Error Page"), + ), + body: Center( + child: Text("Error Page"), + ), + drawer: Drawer( + child: ListView( + children: [ + ListTile( + title: IconButton( + icon: Icon(Icons.home), + onPressed: () => Navigator.pushNamed(_, '/'), + ), + ), + ], + ), + ), + ); + }); + } +} From 9569af79818016c7ac565242d6f2b0d944b51387 Mon Sep 17 00:00:00 2001 From: Carlos Lopez-Rosario Date: Sun, 8 Mar 2020 19:56:50 -0400 Subject: [PATCH 3/5] Basic Pages --- lib/route_generator.dart | 9 ++++++++ lib/screens/chat.dart | 40 ++++++++++++++++++++++++++++++++++++ lib/screens/home_widget.dart | 6 ++++-- lib/screens/schedule.dart | 40 ++++++++++++++++++++++++++++++++++++ lib/screens/sport.dart | 12 +++++++++++ lib/screens/standing.dart | 40 ++++++++++++++++++++++++++++++++++++ pubspec.lock | 38 +++++++++++++++++++++++++++++++++- pubspec.yaml | 1 + 8 files changed, 183 insertions(+), 3 deletions(-) diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 757bd65..7a2c01b 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -1,3 +1,6 @@ +import 'package:capstone_hungry_hippos/screens/chat.dart'; +import 'package:capstone_hungry_hippos/screens/schedule.dart'; +import 'package:capstone_hungry_hippos/screens/standing.dart'; import 'package:flutter/material.dart'; import 'package:capstone_hungry_hippos/main.dart'; import 'package:capstone_hungry_hippos/screens/home_widget.dart'; @@ -13,6 +16,12 @@ class RouteGenerator { case '/Sport': //We can put logic and stuff here for checking if logged in return MaterialPageRoute(builder: (_) => Sport()); + case '/Schedule': + return MaterialPageRoute(builder: (_) => Chat()); + case '/Standing': + return MaterialPageRoute(builder: (_) => Schedule()); + case '/Chat': + return MaterialPageRoute(builder: (_) => Standing()); default: return _errorRoute(); } diff --git a/lib/screens/chat.dart b/lib/screens/chat.dart index e69de29..e987612 100644 --- a/lib/screens/chat.dart +++ b/lib/screens/chat.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; + +class Chat extends StatelessWidget{ + @override + Widget build(BuildContext context) { + return StatefulBuilder( + builder: (context, StateSetter setState) => Scaffold( + appBar: AppBar( + centerTitle: false, + title: Text("49ers"), + backgroundColor: Colors.green, + ), + body: Text("Chat Goes Here"), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + child: Text( + 'Drawer Header', + style: TextStyle( + color: Colors.white, + fontSize: 24, + ), + ), + decoration: BoxDecoration( + color: Colors.green, + ), + ), + ListTile( + title: IconButton( + icon: Icon(Icons.home), + onPressed: () => Navigator.pushNamed(context, '/'), + ), + ), + ], + ), + ) + )); + } +} \ No newline at end of file diff --git a/lib/screens/home_widget.dart b/lib/screens/home_widget.dart index 9a7946d..bc9695d 100644 --- a/lib/screens/home_widget.dart +++ b/lib/screens/home_widget.dart @@ -39,8 +39,10 @@ class Home extends StatelessWidget { ), ), ListTile( - leading: Icon(Icons.message), - title: Text('Messages'), + title: IconButton( + icon: Icon(Icons.message), + onPressed: () => Navigator.pushNamed(context, '/Chat'), + ), ), ], ), diff --git a/lib/screens/schedule.dart b/lib/screens/schedule.dart index e69de29..c827f1f 100644 --- a/lib/screens/schedule.dart +++ b/lib/screens/schedule.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; + +class Schedule extends StatelessWidget{ + @override + Widget build(BuildContext context) { + return StatefulBuilder( + builder: (context, StateSetter setState) => Scaffold( + appBar: AppBar( + centerTitle: false, + title: Text("49ers"), + backgroundColor: Colors.green, + ), + body: Text("Schedule Goes Here"), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + child: Text( + 'Drawer Header', + style: TextStyle( + color: Colors.white, + fontSize: 24, + ), + ), + decoration: BoxDecoration( + color: Colors.green, + ), + ), + ListTile( + title: IconButton( + icon: Icon(Icons.home), + onPressed: () => Navigator.pushNamed(context, '/'), + ), + ), + ], + ), + ) + )); + } +} \ No newline at end of file diff --git a/lib/screens/sport.dart b/lib/screens/sport.dart index 2d7d1ae..ac34014 100644 --- a/lib/screens/sport.dart +++ b/lib/screens/sport.dart @@ -55,6 +55,18 @@ class Sport extends StatelessWidget { onPressed: () => Navigator.pushNamed(context, '/'), ), ), + ListTile( + title: IconButton( + icon: Icon(Icons.table_chart), + onPressed: () => Navigator.pushNamed(context, '/Standing'), + ), + ), + ListTile( + title: IconButton( + icon: Icon(Icons.calendar_today), + onPressed: () => Navigator.pushNamed(context, '/Schedule'), + ), + ), ], ), ), diff --git a/lib/screens/standing.dart b/lib/screens/standing.dart index e69de29..32a4029 100644 --- a/lib/screens/standing.dart +++ b/lib/screens/standing.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; + +class Standing extends StatelessWidget{ + @override + Widget build(BuildContext context) { + return StatefulBuilder( + builder: (context, StateSetter setState) => Scaffold( + appBar: AppBar( + centerTitle: false, + title: Text("49ers"), + backgroundColor: Colors.green, + ), + body: Text("Standings Goes Here"), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + child: Text( + 'Drawer Header', + style: TextStyle( + color: Colors.white, + fontSize: 24, + ), + ), + decoration: BoxDecoration( + color: Colors.green, + ), + ), + ListTile( + title: IconButton( + icon: Icon(Icons.home), + onPressed: () => Navigator.pushNamed(context, '/'), + ), + ), + ], + ), + ) + )); + } +} \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index dd132b2..57b0841 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -22,6 +22,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.4.0" + bloc: + dependency: transitive + description: + name: bloc + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" boolean_selector: dependency: transitive description: @@ -69,6 +76,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_bloc: + dependency: "direct main" + description: + name: flutter_bloc + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.0" flutter_test: dependency: "direct dev" description: flutter @@ -109,6 +123,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.8" + nested: + dependency: transitive + description: + name: nested + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.4" path: dependency: transitive description: @@ -130,6 +151,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.4.0" + provider: + dependency: transitive + description: + name: provider + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.4" quiver: dependency: transitive description: @@ -137,6 +165,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.5" + rxdart: + dependency: transitive + description: + name: rxdart + url: "https://pub.dartlang.org" + source: hosted + version: "0.23.1" sky_engine: dependency: transitive description: flutter @@ -206,4 +241,5 @@ packages: source: hosted version: "3.5.0" sdks: - dart: ">=2.4.0 <3.0.0" + dart: ">=2.6.0 <3.0.0" + flutter: ">=1.12.1" diff --git a/pubspec.yaml b/pubspec.yaml index 5d4a329..7cf311d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,7 @@ environment: dependencies: flutter: sdk: flutter + flutter_bloc: ^3.2.0 http: ^0.12.0+4 From 11355bf2c91ce3527730775870dd53a871d867d6 Mon Sep 17 00:00:00 2001 From: clopezr1 Date: Sun, 22 Mar 2020 10:15:22 -0400 Subject: [PATCH 4/5] Restructured home --- lib/screens/home_widget.dart | 96 ++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 42 deletions(-) diff --git a/lib/screens/home_widget.dart b/lib/screens/home_widget.dart index bc9695d..6c0488d 100644 --- a/lib/screens/home_widget.dart +++ b/lib/screens/home_widget.dart @@ -1,52 +1,64 @@ import 'package:flutter/material.dart'; import '../news/feed.dart'; - class Home extends StatelessWidget { - - final feed = Feed(); //was var not final - @override Widget build(BuildContext context) { - return StatefulBuilder( - builder: (context, StateSetter setState) => Scaffold( - appBar: AppBar( - centerTitle: false, - title: Text("49ers"), - backgroundColor: Colors.green, - ), - body: ListView( - children: [ - HorizontalNewsFeed(newsFeed: feed, title: Text("Basketball")), - HorizontalNewsFeed(newsFeed: feed, title: Text("Soccer")), - HorizontalNewsFeed(newsFeed: feed, title: Text("Football")), - HorizontalNewsFeed(newsFeed: feed, title: Text("Volleyball")), - ], - ), - drawer: Drawer( - child: ListView( - children: [ - DrawerHeader( - child: Text( - 'Drawer Header', - style: TextStyle( - color: Colors.white, - fontSize: 28, - ), - ), - decoration: BoxDecoration( - color: Colors.green, - ), - ), - ListTile( - title: IconButton( - icon: Icon(Icons.message), - onPressed: () => Navigator.pushNamed(context, '/Chat'), - ), - ), - ], + return Scaffold( + body: CustomScrollView( + slivers: [ + _AppBar(), + SliverList(delegate: SliverChildListDelegate(_buildList())), + ], + ), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + child: Text( + 'Drawer Header', + style: TextStyle( + color: Colors.white, + fontSize: 28, ), ), - )); + decoration: BoxDecoration( + color: Colors.green, + ), + ), + ListTile( + title: IconButton( + icon: Icon(Icons.message), + onPressed: () => Navigator.pushNamed(context, '/Chat'), + ), + ), + ], + ), + ), + ); } } + +class _AppBar extends StatelessWidget { + @override + Widget build(BuildContext context) { + return SliverAppBar( + centerTitle: false, + title: Text("49ers"), + backgroundColor: Colors.green, + ); + } +} + +List _buildList() { + final feed = Feed(); + List listItems = List(); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Football"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Soccer"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Basketball"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Volleyball"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Baseball"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Softball"))); + listItems.add(HorizontalNewsFeed(newsFeed: feed, title: Text("Tennis"))); + return listItems; +} From bb6f0fd0e51017fdee0e168200ba5ca83cc758e1 Mon Sep 17 00:00:00 2001 From: clopezr1 Date: Tue, 24 Mar 2020 13:27:18 -0400 Subject: [PATCH 5/5] some updates --- lib/main.dart | 2 -- lib/route_generator.dart | 7 +++---- pubspec.lock | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index fc04fcc..0a4231b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,5 @@ import 'package:capstone_hungry_hippos/route_generator.dart'; import 'package:flutter/material.dart'; -import 'screens/home_widget.dart'; -import 'screens/sport.dart'; void main() => runApp(App()); diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 7a2c01b..3e01d5e 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -2,7 +2,6 @@ import 'package:capstone_hungry_hippos/screens/chat.dart'; import 'package:capstone_hungry_hippos/screens/schedule.dart'; import 'package:capstone_hungry_hippos/screens/standing.dart'; import 'package:flutter/material.dart'; -import 'package:capstone_hungry_hippos/main.dart'; import 'package:capstone_hungry_hippos/screens/home_widget.dart'; import 'package:capstone_hungry_hippos/screens/sport.dart'; @@ -17,11 +16,11 @@ class RouteGenerator { //We can put logic and stuff here for checking if logged in return MaterialPageRoute(builder: (_) => Sport()); case '/Schedule': - return MaterialPageRoute(builder: (_) => Chat()); - case '/Standing': return MaterialPageRoute(builder: (_) => Schedule()); - case '/Chat': + case '/Standing': return MaterialPageRoute(builder: (_) => Standing()); + case '/Chat': + return MaterialPageRoute(builder: (_) => Chat()); default: return _errorRoute(); } diff --git a/pubspec.lock b/pubspec.lock index 57b0841..a5d537b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -218,7 +218,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.11" + version: "0.2.15" typed_data: dependency: transitive description: