in lib/studies/crane/header_form.dart [35:78]
Widget build(BuildContext context) {
final isDesktop = isDisplayDesktop(context);
final isSmallDesktop = isDisplaySmallDesktop(context);
return Padding(
padding: EdgeInsets.symmetric(
horizontal:
isDesktop && !isSmallDesktop ? appPaddingLarge : appPaddingSmall,
),
child: isDesktop
? LayoutBuilder(builder: (context, constraints) {
var crossAxisCount = isSmallDesktop ? 2 : 4;
if (fields.length < crossAxisCount) {
crossAxisCount = fields.length;
}
final itemWidth = constraints.maxWidth / crossAxisCount;
return GridView.count(
crossAxisCount: crossAxisCount,
childAspectRatio: itemWidth / textFieldHeight,
physics: const NeverScrollableScrollPhysics(),
children: [
for (final field in fields)
if ((field.index + 1) % crossAxisCount == 0)
_HeaderTextField(field: field)
else
Padding(
padding: const EdgeInsetsDirectional.only(end: 16),
child: _HeaderTextField(field: field),
),
],
);
})
: Column(
mainAxisSize: MainAxisSize.min,
children: [
for (final field in fields)
Padding(
padding: const EdgeInsets.only(bottom: 8),
child: _HeaderTextField(field: field),
)
],
),
);
}