From 2c5d2c0d80f3ef21e69ae20913aa7950810b1aa4 Mon Sep 17 00:00:00 2001 From: ashilkn Date: Thu, 20 Apr 2023 15:50:49 +0530 Subject: [PATCH] Fixed UI on archive screen --- .../album_horizontal_list_widget.dart | 103 ++++++++++-------- lib/ui/viewer/gallery/archive_page.dart | 7 +- 2 files changed, 57 insertions(+), 53 deletions(-) diff --git a/lib/ui/components/album_horizontal_list_widget.dart b/lib/ui/components/album_horizontal_list_widget.dart index 575cd49a7..d89d3ef43 100644 --- a/lib/ui/components/album_horizontal_list_widget.dart +++ b/lib/ui/components/album_horizontal_list_widget.dart @@ -47,56 +47,63 @@ class _AlbumHorizontalListWidgetState extends State { @override Widget build(BuildContext context) { debugPrint('$runtimeType widget build'); - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), - child: Text( - S.of(context).albums, - style: getEnteTextTheme(context).large, - ), - ), - FutureBuilder>( - future: widget.collectionsFuture(), - builder: (context, snapshot) { - if (snapshot.hasError) { - _logger.severe("failed to fetch albums", snapshot.error); - return Text(S.of(context).somethingWentWrong); - } else if (snapshot.hasData) { - if (snapshot.data!.isEmpty) { - return const SizedBox.shrink(); - } - final collectionsWithThumbnail = - snapshot.data as List; - return Align( - alignment: Alignment.centerLeft, - child: SizedBox( - height: 147, //139 + 8 (calculated from figma design) - child: ListView.separated( - separatorBuilder: (context, index) => - const SizedBox(width: 4), - scrollDirection: Axis.horizontal, - itemCount: collectionsWithThumbnail.length, - padding: const EdgeInsets.symmetric(horizontal: 8), - itemBuilder: (context, index) { - final item = collectionsWithThumbnail[index]; - return CollectionItem( - item, - 120, - shouldRender: true, - showFileCount: false, - ); - }, + return FutureBuilder>( + future: widget.collectionsFuture(), + builder: (context, snapshot) { + if (snapshot.hasError) { + _logger.severe("failed to fetch albums", snapshot.error); + return Text(S.of(context).somethingWentWrong); + } else if (snapshot.hasData) { + if (snapshot.data!.isEmpty) { + return const SizedBox.shrink(); + } + final collectionsWithThumbnail = + snapshot.data as List; + return Padding( + padding: const EdgeInsets.only(bottom: 24, top: 8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Text( + S.of(context).albums, + style: getEnteTextTheme(context).large, ), ), - ); - } else { - return const EnteLoadingWidget(); - } - }, - ), - ], + Align( + alignment: Alignment.centerLeft, + child: SizedBox( + height: 147, //139 + 8 (calculated from figma design) + child: ListView.separated( + separatorBuilder: (context, index) => + const SizedBox(width: 4), + scrollDirection: Axis.horizontal, + itemCount: collectionsWithThumbnail.length, + padding: const EdgeInsets.symmetric(horizontal: 8), + itemBuilder: (context, index) { + final item = collectionsWithThumbnail[index]; + return CollectionItem( + item, + 120, + shouldRender: true, + showFileCount: false, + ); + }, + ), + ), + ), + ], + ), + ); + } else { + return const Padding( + padding: EdgeInsets.only(bottom: 24, top: 8), + child: EnteLoadingWidget(), + ); + } + }, ); } } diff --git a/lib/ui/viewer/gallery/archive_page.dart b/lib/ui/viewer/gallery/archive_page.dart index dc3c573d7..2d1c93e4b 100644 --- a/lib/ui/viewer/gallery/archive_page.dart +++ b/lib/ui/viewer/gallery/archive_page.dart @@ -67,11 +67,8 @@ class ArchivePage extends StatelessWidget { emptyState: EmptyState( text: S.of(context).youDontHaveAnyArchivedItems, ), - header: Padding( - padding: const EdgeInsets.only(bottom: 24, top: 8), - child: AlbumHorizontalListWidget( - CollectionsService.instance.getArchivedCollectionWithThumb, - ), + header: AlbumHorizontalListWidget( + CollectionsService.instance.getArchivedCollectionWithThumb, ), ); return Scaffold(