Fixed UI on archive screen (#1018)
This commit is contained in:
commit
0760fabe0e
|
@ -47,56 +47,63 @@ class _AlbumHorizontalListWidgetState extends State<AlbumHorizontalListWidget> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
debugPrint('$runtimeType widget build');
|
debugPrint('$runtimeType widget build');
|
||||||
return Column(
|
return FutureBuilder<List<CollectionWithThumbnail>>(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
future: widget.collectionsFuture(),
|
||||||
children: [
|
builder: (context, snapshot) {
|
||||||
Padding(
|
if (snapshot.hasError) {
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
_logger.severe("failed to fetch albums", snapshot.error);
|
||||||
child: Text(
|
return Text(S.of(context).somethingWentWrong);
|
||||||
S.of(context).albums,
|
} else if (snapshot.hasData) {
|
||||||
style: getEnteTextTheme(context).large,
|
if (snapshot.data!.isEmpty) {
|
||||||
),
|
return const SizedBox.shrink();
|
||||||
),
|
}
|
||||||
FutureBuilder<List<CollectionWithThumbnail>>(
|
final collectionsWithThumbnail =
|
||||||
future: widget.collectionsFuture(),
|
snapshot.data as List<CollectionWithThumbnail>;
|
||||||
builder: (context, snapshot) {
|
return Padding(
|
||||||
if (snapshot.hasError) {
|
padding: const EdgeInsets.only(bottom: 24, top: 8),
|
||||||
_logger.severe("failed to fetch albums", snapshot.error);
|
child: Column(
|
||||||
return Text(S.of(context).somethingWentWrong);
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
} else if (snapshot.hasData) {
|
children: [
|
||||||
if (snapshot.data!.isEmpty) {
|
Padding(
|
||||||
return const SizedBox.shrink();
|
padding:
|
||||||
}
|
const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||||
final collectionsWithThumbnail =
|
child: Text(
|
||||||
snapshot.data as List<CollectionWithThumbnail>;
|
S.of(context).albums,
|
||||||
return Align(
|
style: getEnteTextTheme(context).large,
|
||||||
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,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
Align(
|
||||||
} else {
|
alignment: Alignment.centerLeft,
|
||||||
return const EnteLoadingWidget();
|
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(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,11 +67,8 @@ class ArchivePage extends StatelessWidget {
|
||||||
emptyState: EmptyState(
|
emptyState: EmptyState(
|
||||||
text: S.of(context).youDontHaveAnyArchivedItems,
|
text: S.of(context).youDontHaveAnyArchivedItems,
|
||||||
),
|
),
|
||||||
header: Padding(
|
header: AlbumHorizontalListWidget(
|
||||||
padding: const EdgeInsets.only(bottom: 24, top: 8),
|
CollectionsService.instance.getArchivedCollectionWithThumb,
|
||||||
child: AlbumHorizontalListWidget(
|
|
||||||
CollectionsService.instance.getArchivedCollectionWithThumb,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|
Loading…
Reference in a new issue