From 5c4a029674e51a7bdd1f9468aa51c36a7b43ef9e Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 18 Dec 2020 23:54:43 +0100 Subject: [PATCH] Work about PagedList history with infinite scroll --- assets/icon/gecko5b.png | Bin 0 -> 46131 bytes assets/icon/gecko5b36.png | Bin 0 -> 16279 bytes assets/icon/gecko5b96.png | Bin 0 -> 18589 bytes assets/icon/geckoicon36.png | Bin 2272 -> 0 bytes assets/icon/geckoicon96.png | Bin 5802 -> 0 bytes lib/functions.dart | 1 + lib/main.dart | 10 +++ .../empty_list_indicator.dart | 12 +++ .../exception_indicators/error_indicator.dart | 28 +++++++ .../exception_indicator.dart | 70 ++++++++++++++++++ .../generic_error_indicator.dart | 21 ++++++ .../no_connection_indicator.dart | 20 +++++ lib/ui/history_list_item.dart | 1 + lib/ui/history_list_screen.dart | 1 + lib/ui/history_list_view.dart | 1 + pubspec.lock | 16 +++- pubspec.yaml | 4 +- 17 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 assets/icon/gecko5b.png create mode 100644 assets/icon/gecko5b36.png create mode 100644 assets/icon/gecko5b96.png delete mode 100644 assets/icon/geckoicon36.png delete mode 100644 assets/icon/geckoicon96.png create mode 100644 lib/functions.dart create mode 100644 lib/ui/exception_indicators/empty_list_indicator.dart create mode 100644 lib/ui/exception_indicators/error_indicator.dart create mode 100644 lib/ui/exception_indicators/exception_indicator.dart create mode 100644 lib/ui/exception_indicators/generic_error_indicator.dart create mode 100644 lib/ui/exception_indicators/no_connection_indicator.dart create mode 100644 lib/ui/history_list_item.dart create mode 100644 lib/ui/history_list_screen.dart create mode 100644 lib/ui/history_list_view.dart diff --git a/assets/icon/gecko5b.png b/assets/icon/gecko5b.png new file mode 100644 index 0000000000000000000000000000000000000000..bb08e851f446105087779e535e144a0d65d252c6 GIT binary patch literal 46131 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 literal 0 HcmV?d00001 diff --git a/assets/icon/gecko5b36.png b/assets/icon/gecko5b36.png new file mode 100644 index 0000000000000000000000000000000000000000..959ba78f15488dc245cdb97e2b29bdb28f58957c GIT binary patch literal 16279 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 N002ovPDHLkV1j;%01f~E literal 0 HcmV?d00001 diff --git a/assets/icon/gecko5b96.png b/assets/icon/gecko5b96.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf01d5e9af6218a89aa52ae953c85a97686e8a2 GIT binary patch literal 18589 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 diff --git a/lib/functions.dart b/lib/functions.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/functions.dart @@ -0,0 +1 @@ + diff --git a/lib/main.dart b/lib/main.dart index 1c8186f..049b0c3 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,6 +11,8 @@ import 'package:intl/intl.dart'; import 'api.dart'; import "package:dio/dio.dart"; +List litems = ["1", "2", "Third", "4"]; + void main() { runApp(MyApp()); } @@ -96,7 +98,9 @@ class _MyAppState extends State { ), style: TextStyle( fontSize: 30.0, color: Colors.black)), + TextField( + // Affichage history enabled: false, controller: this._outputHistory, @@ -137,6 +141,11 @@ class _MyAppState extends State { ], ), ), + // new ListView.builder( + // itemCount: litems.length, + // itemBuilder: (BuildContext ctxt, int index) { + // return new Text(litems[index]); + // }) ], ); }, @@ -270,4 +279,5 @@ class _MyAppState extends State { // print("Veuillez renseigner une clé publique"); // } // } + } diff --git a/lib/ui/exception_indicators/empty_list_indicator.dart b/lib/ui/exception_indicators/empty_list_indicator.dart new file mode 100644 index 0000000..ea14904 --- /dev/null +++ b/lib/ui/exception_indicators/empty_list_indicator.dart @@ -0,0 +1,12 @@ +import 'package:flutter/cupertino.dart'; +// import 'package:readwenderlich/ui/exception_indicators/exception_indicator.dart'; + +/// Indicates that no items were found. +class EmptyListIndicator extends StatelessWidget { + @override + Widget build(BuildContext context) => const ExceptionIndicator( + title: 'Too much filtering', + message: 'We couldn\'t find any results matching your applied filters.', + assetName: 'assets/empty-box.png', + ); +} diff --git a/lib/ui/exception_indicators/error_indicator.dart b/lib/ui/exception_indicators/error_indicator.dart new file mode 100644 index 0000000..83f364e --- /dev/null +++ b/lib/ui/exception_indicators/error_indicator.dart @@ -0,0 +1,28 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +// import 'package:readwenderlich/ui/exception_indicators/generic_error_indicator.dart'; +// import 'package:readwenderlich/ui/exception_indicators/no_connection_indicator.dart'; + +/// Based on the received error, displays either a [NoConnectionIndicator] or +/// a [GenericErrorIndicator]. +class ErrorIndicator extends StatelessWidget { + const ErrorIndicator({ + @required this.error, + this.onTryAgain, + Key key, + }) : assert(error != null), + super(key: key); + + final dynamic error; + final VoidCallback onTryAgain; + + @override + Widget build(BuildContext context) => error is SocketException + ? NoConnectionIndicator( + onTryAgain: onTryAgain, + ) + : GenericErrorIndicator( + onTryAgain: onTryAgain, + ); +} diff --git a/lib/ui/exception_indicators/exception_indicator.dart b/lib/ui/exception_indicators/exception_indicator.dart new file mode 100644 index 0000000..89555fb --- /dev/null +++ b/lib/ui/exception_indicators/exception_indicator.dart @@ -0,0 +1,70 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +/// Basic layout for indicating that an exception occurred. +class ExceptionIndicator extends StatelessWidget { + const ExceptionIndicator({ + @required this.title, + @required this.assetName, + this.message, + this.onTryAgain, + Key key, + }) : assert(title != null), + assert(assetName != null), + super(key: key); + final String title; + final String message; + final String assetName; + final VoidCallback onTryAgain; + + @override + Widget build(BuildContext context) => Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 32, horizontal: 16), + child: Column( + children: [ + Image.asset( + assetName, + ), + const SizedBox( + height: 32, + ), + Text( + title, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.headline6, + ), + if (message != null) + const SizedBox( + height: 16, + ), + if (message != null) + Text( + message, + textAlign: TextAlign.center, + ), + if (onTryAgain != null) const Spacer(), + if (onTryAgain != null) + SizedBox( + height: 50, + width: double.infinity, + child: RaisedButton.icon( + onPressed: onTryAgain, + icon: const Icon( + Icons.refresh, + color: Colors.white, + ), + label: const Text( + 'Try Again', + style: TextStyle( + fontSize: 16, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/ui/exception_indicators/generic_error_indicator.dart b/lib/ui/exception_indicators/generic_error_indicator.dart new file mode 100644 index 0000000..85dc846 --- /dev/null +++ b/lib/ui/exception_indicators/generic_error_indicator.dart @@ -0,0 +1,21 @@ +import 'package:flutter/cupertino.dart'; +// import 'package:readwenderlich/ui/exception_indicators/exception_indicator.dart'; + +/// Indicates that an unknown error occurred. +class GenericErrorIndicator extends StatelessWidget { + const GenericErrorIndicator({ + Key key, + this.onTryAgain, + }) : super(key: key); + + final VoidCallback onTryAgain; + + @override + Widget build(BuildContext context) => ExceptionIndicator( + title: 'Something went wrong', + message: 'The application has encountered an unknown error.\n' + 'Please try again later.', + assetName: 'assets/confused-face.png', + onTryAgain: onTryAgain, + ); +} diff --git a/lib/ui/exception_indicators/no_connection_indicator.dart b/lib/ui/exception_indicators/no_connection_indicator.dart new file mode 100644 index 0000000..8a62dcd --- /dev/null +++ b/lib/ui/exception_indicators/no_connection_indicator.dart @@ -0,0 +1,20 @@ +import 'package:flutter/cupertino.dart'; +// import 'package:readwenderlich/ui/exception_indicators/exception_indicator.dart'; + +/// Indicates that a connection error occurred. +class NoConnectionIndicator extends StatelessWidget { + const NoConnectionIndicator({ + Key key, + this.onTryAgain, + }) : super(key: key); + + final VoidCallback onTryAgain; + + @override + Widget build(BuildContext context) => ExceptionIndicator( + title: 'No connection', + message: 'Please check internet connection and try again.', + assetName: 'assets/frustrated-face.png', + onTryAgain: onTryAgain, + ); +} diff --git a/lib/ui/history_list_item.dart b/lib/ui/history_list_item.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/ui/history_list_item.dart @@ -0,0 +1 @@ + diff --git a/lib/ui/history_list_screen.dart b/lib/ui/history_list_screen.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/ui/history_list_screen.dart @@ -0,0 +1 @@ + diff --git a/lib/ui/history_list_view.dart b/lib/ui/history_list_view.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/ui/history_list_view.dart @@ -0,0 +1 @@ + diff --git a/pubspec.lock b/pubspec.lock index 6fb8806..2093bdc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -179,6 +179,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.1" + infinite_scroll_pagination: + dependency: "direct main" + description: + name: infinite_scroll_pagination + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.3" intl: dependency: "direct main" description: @@ -254,6 +261,13 @@ packages: description: flutter source: sdk version: "0.0.99" + sliver_tools: + dependency: transitive + description: + name: sliver_tools + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.10+1" source_span: dependency: transitive description: @@ -326,4 +340,4 @@ packages: version: "2.2.1" sdks: dart: ">=2.10.0-110 <2.11.0" - flutter: ">=1.12.13+hotfix.5 <2.0.0" + flutter: ">=1.22.0 <2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index a6fc6c1..fa07172 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,11 +33,13 @@ dependencies: gql_link: intl: flutter_launcher_icons: "^0.8.0" + infinite_scroll_pagination: ^2.2.3 + flutter_icons: android: "launcher_icon" ios: true - image_path: "assets/icon/gecko-bb-36.png" + image_path: "assets/icon/gecko5b96.png" # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons.