buildGallery method
Widget buildGallery(
- BuildContext context,
- CuratedList curatedList
)
Implementation
Widget buildGallery(BuildContext context, api.CuratedList curatedList) {
List<Widget> children = [];
List<api.Image?> images = [];
for (var item in curatedList.items!) {
images.add(item!.data);
}
for (var i = 0; i < curatedList.items!.length; i++) {
var item = curatedList.items![i]!;
children.add(Container(
padding: const EdgeInsets.all(8),
child: GestureDetector(
onTap: () {
var gallery = Gallery(
title: curatedList.title,
shareButtonTag: shareButtonTag,
galleryItems: images,
backgroundDecoration: const BoxDecoration(
color: Colors.black,
),
initialIndex: i,
scrollDirection:
verticalGallery ? Axis.vertical : Axis.horizontal,
);
if (isLargeFormatWeb(context)) {
Navigator.push(
context,
PageRouteBuilder(
transitionDuration: const Duration(seconds: 0),
pageBuilder: (context, _, __) {
return gallery;
},
),
);
} else {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return gallery;
},
),
);
}
},
child: Hero(
tag: item.data.id,
child: Image.network(
item.data.url,
height: 100,
fit: BoxFit.fitWidth,
),
),
),
));
}
return CustomScrollView(
slivers: [
SliverPadding(
padding: const EdgeInsets.all(20),
sliver: SliverGrid.count(
crossAxisSpacing: 10,
mainAxisSpacing: 10,
crossAxisCount: 2,
children: children,
),
),
],
);
}