Widget build()

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),
                  )
              ],
            ),
    );
  }