From 4950464787c91d3424644257f2d1643ca43e134f Mon Sep 17 00:00:00 2001 From: Andrew Brogdon Date: Wed, 5 Sep 2018 10:05:13 -0700 Subject: [PATCH] Responding to fhracek comments. --- veggieseasons/lib/data/model.dart | 20 ++++++++++--------- veggieseasons/lib/main.dart | 3 ++- .../lib/widgets/veggie_headline.dart | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/veggieseasons/lib/data/model.dart b/veggieseasons/lib/data/model.dart index 0936e7a04..9fd67c5b5 100644 --- a/veggieseasons/lib/data/model.dart +++ b/veggieseasons/lib/data/model.dart @@ -7,28 +7,28 @@ import 'package:veggieseasons/data/veggie.dart'; import 'package:veggieseasons/data/local_veggie_provider.dart'; class AppState extends Model { - List veggies; + List _veggies; - AppState() : veggies = LocalVeggieProvider.veggies; + AppState() : _veggies = LocalVeggieProvider.veggies; - List get allVeggies => veggies; + List get allVeggies => List.from(_veggies); - Veggie getVeggie(int id) => veggies.singleWhere((v) => v.id == id); + Veggie getVeggie(int id) => _veggies.singleWhere((v) => v.id == id); List get availableVeggies { Season currentSeason = _getSeasonForDate(DateTime.now()); - return veggies.where((v) => v.seasons.contains(currentSeason)).toList(); + return _veggies.where((v) => v.seasons.contains(currentSeason)).toList(); } List get unavailableVeggies { Season currentSeason = _getSeasonForDate(DateTime.now()); - return veggies.where((v) => !v.seasons.contains(currentSeason)).toList(); + return _veggies.where((v) => !v.seasons.contains(currentSeason)).toList(); } List get favoriteVeggies => - veggies.where((v) => v.isFavorite).toList(); + _veggies.where((v) => v.isFavorite).toList(); - List searchVeggies(String terms) => veggies + List searchVeggies(String terms) => _veggies .where((v) => v.name.toLowerCase().contains(terms.toLowerCase())) .toList(); @@ -38,7 +38,7 @@ class AppState extends Model { notifyListeners(); } - Season _getSeasonForDate(DateTime date) { + static Season _getSeasonForDate(DateTime date) { // Technically the start and end dates of seasons can vary by a day or so, // but this is close enough for produce. switch (date.month) { @@ -66,6 +66,8 @@ class AppState extends Model { return Season.autumn; case 12: return date.day < 22 ? Season.autumn : Season.winter; + default: + throw ArgumentError('Can\'t return a season for month #${date.month}.'); } } } diff --git a/veggieseasons/lib/main.dart b/veggieseasons/lib/main.dart index bb5f4b637..08f81f21f 100644 --- a/veggieseasons/lib/main.dart +++ b/veggieseasons/lib/main.dart @@ -7,6 +7,7 @@ import 'package:flutter/services.dart' show DeviceOrientation, SystemChrome; import 'package:scoped_model/scoped_model.dart'; import 'package:veggieseasons/data/model.dart'; import 'package:veggieseasons/screens/home.dart'; +import 'package:veggieseasons/styles.dart'; void main() { SystemChrome.setPreferredOrientations([ @@ -18,7 +19,7 @@ void main() { ScopedModel( model: AppState(), child: CupertinoApp( - color: Color(0xffd0d0d0), + color: Styles.appBackground, home: HomeScreen(), ), ), diff --git a/veggieseasons/lib/widgets/veggie_headline.dart b/veggieseasons/lib/widgets/veggie_headline.dart index de42377db..7eeeb42ce 100644 --- a/veggieseasons/lib/widgets/veggie_headline.dart +++ b/veggieseasons/lib/widgets/veggie_headline.dart @@ -35,7 +35,7 @@ class VeggieHeadline extends StatelessWidget { Widget build(BuildContext context) { return GestureDetector( onTap: () { - /* navigation forthcoming */ + /* TODO(redbrogdon): navigation forthcoming */ }, child: Row( crossAxisAlignment: CrossAxisAlignment.start,