Fixed UI on archive screen

This commit is contained in:
ashilkn 2023-04-20 15:50:49 +05:30
parent bf82b2dff3
commit 2c5d2c0d80
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(