Add empty states for all grids

This commit is contained in:
Vishnu Mohandas 2020-08-09 20:28:41 +05:30
parent df630c2b91
commit dcce6c5962
4 changed files with 15 additions and 3 deletions

View file

@ -0,0 +1,3 @@
import 'package:flutter/widgets.dart';
final nothingToSeeHere = Center(child: Text("Nothing to see here! 👀"));

View file

@ -10,6 +10,7 @@ import 'package:photos/models/device_folder.dart';
import 'package:photos/models/filters/favorite_items_filter.dart';
import 'package:photos/models/filters/folder_name_filter.dart';
import 'package:photos/models/filters/video_file_filter.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/device_folder_page.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/thumbnail_widget.dart';
@ -36,10 +37,13 @@ class _DeviceFolderGalleryWidgetState extends State<DeviceFolderGalleryWidget> {
@override
Widget build(BuildContext context) {
return FutureBuilder(
return FutureBuilder<List<DeviceFolder>>(
future: _getDeviceFolders(),
builder: (context, snapshot) {
if (snapshot.hasData) {
if (snapshot.data.length == 0) {
return nothingToSeeHere;
}
return _getDeviceFolderGalleryWidget(snapshot.data);
} else if (snapshot.hasError) {
return Text(snapshot.error.toString());

View file

@ -7,6 +7,7 @@ import 'package:logging/logging.dart';
import 'package:photos/events/event.dart';
import 'package:photos/models/file.dart';
import 'package:photos/models/selected_files.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/detail_page.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/sync_indicator.dart';
@ -104,7 +105,7 @@ class _GalleryState extends State<Gallery> {
Widget _onDataLoaded() {
_logger.info("Loaded " + _files.length.toString());
if (_files.isEmpty) {
return Center(child: Text("Nothing to see here! 👀"));
return nothingToSeeHere;
}
_collateFiles();
_scrollController = ScrollController(
@ -158,6 +159,9 @@ class _GalleryState extends State<Gallery> {
}
fileIndex--;
}
if (fileIndex < 0 || fileIndex >= _collatedFiles.length) {
return Container();
}
var files = _collatedFiles[fileIndex];
return Column(
children: <Widget>[_getDay(files[0].creationTime), _getGallery(files)],

View file

@ -9,6 +9,7 @@ import 'package:photos/db/folders_db.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/events/remote_sync_event.dart';
import 'package:photos/models/folder.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/remote_folder_page.dart';
import 'package:photos/ui/thumbnail_widget.dart';
@ -42,7 +43,7 @@ class _RemoteFolderGalleryWidgetState extends State<RemoteFolderGalleryWidget> {
builder: (context, snapshot) {
if (snapshot.hasData) {
if (snapshot.data.isEmpty) {
return Center(child: Text("Nothing to see here! 👀"));
return nothingToSeeHere;
} else {
return _getRemoteFolderGalleryWidget(snapshot.data);
}