empty content placeholder fix
This commit is contained in:
parent
a6c7f48799
commit
049840bd73
3 changed files with 30 additions and 11 deletions
|
@ -7,8 +7,8 @@ class EmptyContent extends StatelessWidget {
|
|||
final AlignmentGeometry alignment;
|
||||
|
||||
const EmptyContent({
|
||||
this.icon = AIcons.image,
|
||||
this.text = 'No images',
|
||||
@required this.icon = AIcons.image,
|
||||
@required this.text = 'No images',
|
||||
this.alignment = const FractionalOffset(.5, .35),
|
||||
});
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:aves/model/collection_lens.dart';
|
||||
import 'package:aves/model/collection_source.dart';
|
||||
import 'package:aves/model/filters/favourite.dart';
|
||||
import 'package:aves/model/filters/mime.dart';
|
||||
import 'package:aves/model/mime_types.dart';
|
||||
|
@ -206,16 +207,31 @@ class _CollectionScrollViewState extends State<CollectionScrollView> {
|
|||
}
|
||||
|
||||
Widget _buildEmptyCollectionPlaceholder(CollectionLens collection) {
|
||||
return collection.filters.any((filter) => filter is FavouriteFilter)
|
||||
? const EmptyContent(
|
||||
return ValueListenableBuilder<SourceState>(
|
||||
valueListenable: collection.source.stateNotifier,
|
||||
builder: (context, sourceState, child) {
|
||||
if (sourceState == SourceState.loading) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
if (collection.filters.any((filter) => filter is FavouriteFilter)) {
|
||||
return const EmptyContent(
|
||||
icon: AIcons.favourite,
|
||||
text: 'No favourites',
|
||||
)
|
||||
: collection.filters.any((filter) => filter is MimeFilter && filter.mime == MimeTypes.ANY_VIDEO)
|
||||
? const EmptyContent(
|
||||
);
|
||||
}
|
||||
debugPrint('collection.filters=${collection.filters}');
|
||||
if (collection.filters.any((filter) => filter is MimeFilter && filter.mime == MimeTypes.ANY_VIDEO)) {
|
||||
return const EmptyContent(
|
||||
icon: AIcons.video,
|
||||
)
|
||||
: const EmptyContent();
|
||||
text: 'No videos',
|
||||
);
|
||||
}
|
||||
return const EmptyContent(
|
||||
icon: AIcons.image,
|
||||
text: 'No images',
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
void _onScrollChange() {
|
||||
|
|
|
@ -49,7 +49,10 @@ class StatsPage extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
Widget child;
|
||||
if (collection.isEmpty) {
|
||||
child = const EmptyContent();
|
||||
child = const EmptyContent(
|
||||
icon: AIcons.image,
|
||||
text: 'No images',
|
||||
);
|
||||
} else {
|
||||
final byMimeTypes = groupBy(entries, (entry) => entry.mimeType).map<String, int>((k, v) => MapEntry(k, v.length));
|
||||
final imagesByMimeTypes = Map.fromEntries(byMimeTypes.entries.where((kv) => kv.key.startsWith('image/')));
|
||||
|
|
Loading…
Reference in a new issue