The results tree view nodes are each a Row widget containing an
IconButton (which in this case is blank) and an InkWell. In order to
expose this as a tappable widget in screen readers, we wrap the tree
nodes in a Semantics widget that performs the same function as the
InkWell would when tapped.
Adds the Unsplash photo description, if available, as the image
semantics label in the photo detail view.
Adds a 'download' tooltip to the download IconButton, which also sets
the semantics label for screen readers.
* fix path separator bug in cookbook scraper
* update lockfiles
* add category to image name to avoid conflicts
e.g.
testing/integration/introduction
testing/widget/introduction
* fix form_app symlink
* remove webimages directory
* remove vision_challenge
vision_challenge doesn't build on the dev channel
* update pubspec.yaml in _tool and form_app
* add form_app
* revert unrelated changes
* use links in README
* remove unnecessary type annotation
* Remove GlobalKey for sign_in_http sample
* reword comment
* run package:copywriter
* use relative import
* fix quotes
* Add punctuation
* make sure setState() is used in form_widgets sample
* avoid first person pronoun
* store date state in parent widget in form_widgets.dart
* logout wip
* Use AnimatedSwitcher, change lingo from "login" to signIn"
* add automatic sign-in
* fix flashing sign in button
* sign out of FirebaseAuth and GoogleSignIn
* formatting
* change isSignedIn() to getter
* Add error handling for sign in
* improve error handling at login screen
* add mock data, app state, model classes
* Set up app without ChangeNotifier
* refactor
* add experiments to experimental/
* Add project-agnostic Firebase authentication code
* add sign in button
* add stub firebase API
* add firestore
* refactor code for google_sign_in
* update pubspec.lock
* switch to mocks for non-firebase version
* Add firebase instructions to the README
* fix README
* sign in silently if the user is already signed in
* add json_serializable
* update README
* ignore 'id' field on types
* Implement FirebaseItemApi
* Add build_runner instructions to README
* remove experiments directory
* add EditItemForm
* move types.dart into api.dart
* move mock and firebase configuration into the constructor
* add main_mock entrypoint
* add copyright checks to grinder script
* fix fix-copyright task
* run grind fix-copyright
* add run and generate tasks
* add run tasks to grind script
* add fillWithMockData() fix delete() in mock API
* add edit / new form dialogs
* Add charts that display entries from Firebase
* Add Entries list without editing
* refactor home page
* format
* Add entries page functionality
* Show current day in charts
* cleanup: pubspec.lock, remove type annotation
* Remove _selectedItem from Home page
Add ItemsDropdown
Use ItemsDropdown in NewEntryDialog / NewEntryForm
* rename item-category
* don't wait to show snackbar on delete
* fix circular progress indicator
* Move dialogs into dialogs.dart
* run grind fix-copyright
* remove unused import
* Refactor entry total calculation, add chart_utils library
* fix bug in chart_utils.dart
* convert CategoryChart to a stateless widget
* use a const for number of days in chart
* code review updates
- rename stream -> subscribe
- timeStamp -> timestamp
- remove latest() from API
- use FutureBuilder and StreamBuilder instead of stateful widget
- rename variables in mock_service_test.dart
* use a single collection reference in firebase API
* remove reference to stream in mock API
* Use a new type, _EntriesEvent to improve filtering in mock API
* add analysis_options.yaml and fix (most) issues
* fix avoid_types_on_closure_parameters lint warnings
* use spread operator in dashboard.dart
* handle case where selected item in the category dropdown goes away
* use StreamBuilder + FutureBuilder on Entries page
* rename method
* use fake firebase configuration
* update pubspec.lock
* update README
* Change categories_dropdown to FutureBuilder + StreamBuilder
* Update minSdkVersion in build.gradle
SDK version 16 was failing: "The number of method references in a .dex
file cannot exceed 64K."
* update README
* Use a collection reference in FirebaseEntryApi
Already added to FirebaseCategoryApi
* Invoke onSelected in CategoriesDropdown when necessary
Also, avoid calling onSelected during a build.
* fix misnamed var
* remove unused import
* Use relative imports
* Use extension methods for DateTime utilities
* remove forms.dart
* Make Firebase instructions specific for this sample
* add copyright headers
* fix grammar
* dartfmt
* avoid setState() during build phase in CategoryDropdown
* add empty test to material_theme_builder