in lib/studies/crane/backdrop.dart [73:126]
Widget build(BuildContext context) {
final isDesktop = isDisplayDesktop(context);
final isSmallDesktop = isDisplaySmallDesktop(context);
final crossAxisCount = isSmallDesktop
? 2
: isDesktop
? 4
: 1;
return FocusTraversalGroup(
policy: ReadingOrderTraversalPolicy(),
child: Padding(
padding: isDesktop
? EdgeInsets.zero
: EdgeInsets.only(top: widget.mobileTopOffset),
child: PhysicalShape(
elevation: 16,
color: cranePrimaryWhite,
clipper: const ShapeBorderClipper(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(frontLayerBorderRadius),
topRight: Radius.circular(frontLayerBorderRadius),
),
),
),
child: StaggeredGridView.countBuilder(
key: ValueKey('CraneListView-${widget.index}'),
restorationId: widget.restorationId,
crossAxisCount: crossAxisCount,
crossAxisSpacing: 16.0,
padding: isDesktop
? EdgeInsets.symmetric(
horizontal:
isSmallDesktop ? appPaddingSmall : appPaddingLarge)
.add(bottomPadding)
: const EdgeInsets.symmetric(horizontal: 20).add(bottomPadding),
itemBuilder: (context, index) {
if (index == 0) {
return _header();
} else {
return DestinationCard(destination: destinations[index]);
}
},
staggeredTileBuilder: (index) => index == 0
? StaggeredTile.fit(crossAxisCount)
: const StaggeredTile.fit(1),
itemCount: destinations.length,
),
),
),
);
}