Fixed UI on archive screen (#1018)

This commit is contained in:
Ashil 2023-04-20 16:37:38 +05:30 committed by GitHub
commit 0760fabe0e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 53 deletions

View file

@ -47,56 +47,63 @@ class _AlbumHorizontalListWidgetState extends State<AlbumHorizontalListWidget> {
@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<List<CollectionWithThumbnail>>(
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<CollectionWithThumbnail>;
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<List<CollectionWithThumbnail>>(
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<CollectionWithThumbnail>;
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(),
);
}
},
);
}
}

View file

@ -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(